一点笔记
想法
- 三思而后行, 先设计, 后动手. 对整体流程搞清楚后, 才开始动手做
- 需求和解决方案区分: 需求人员提出需求, 开发人员提供解决方案.
我饿了 -> 需求
我要吃面包 -> 解决方案 - 不是所有的需求都是合理的, 无理需求可以取消, 说服不了需求, 可以申请制裁(请上级决定)
- 代码写完, 多自测几遍, 不然提到测试那里, 一堆低级bug
规范
- 命名规范,清晰: 统一方法前缀: 如统一用query或get, 都是获取某一属性或对象
- sql的查询条件不能固定死, 看情况
查询用户时, 如果根据用户名获取对象是一个方法, 根据手机号码获取对象又是另一个方法, 如此,方法很多, 扩展不便. 普通的查询可以使用对象, 如果条件不为空, 查询条件生效
- 方法区分为 工具方法, 业务方法, 可以将工具方法进行抽取, 使得通用性提高
代码应该简洁且功能单一, 一个方法尽量在一个电脑屏幕就能展示全.
- 巧用static
如 static修饰的map, 可以当做缓存使用, static可以将常用且不经常变的对象存入, 避免多次创建
- 如果要定义静态集合常量(如list, map, set等), 可以使用UnmodifiableArrayList, unmodifiableMap.
- 表字段尽量见名知意
如状态分在线, 离线, 可以使用string(online, offline, 或其他名字), 也可以 0,1 (但是这种需要在注释中添加备注, 注明0,1的意思)
- 避免重复造轮子, 常用方法提取到工具类
- 不懂的问题, 自己搞半小时还搞不出来, 就抛给你师傅(或比你厉害的人)解决
常见规范
- 魔法字符的减少, 经常在代码中使用魔法值, 万一以后业务进行修改, 很难受, 需要在多个文件进行查找, 而且可能有遗漏的情况
使用mybatis plus可能携带很多魔法值, 也需注意
- 巧用三元表达式, 减少冗余代码
return count > 0 ? true : false; => return count > 0;