1.如何应对不断变化的需求?
- 预判变化的部分,写出易于扩展的代码以保证工作量降到最低、新功能实现起来简单、易于长期维护。
- 行为参数化 -- 将易变的行为代码当作参数传递到相应的方法中
- 编写类似的代码之后,尝试将其抽象化。
2.开源软件学习
- BootDo :gitee.com/lcg0124/boo…
BootDo是在SpringBoot基础上搭建的一个Java基础开发平台,MyBatis为数据访问层,ApacheShiro为权限授权层,Ehcahe对常用数据进行缓存。
- 模拟调用json数据
- 门户网站
- bootstrap 样式网站
命名
- 对于集合来说,最好使用名词的复数形式来描述其内容, 而不是使用名词的单数形式来描述.
// 不好的:
List<DateTime> holidayDateList;
Map<Employee, Role> employeeRoleHashMap;
// 改进:
List<DateTime> holidays;
Map<Employee, Role> employeeRoles;
复制代码
- 方法名不需要描述它的参数及参数的类型
// 不好的:
mergeTableCells(List<TableCell> cells)
sortEventsUsingComparator(List<Event> events,
Comparator<Event> comparator)
// 改进:
merge(List<TableCell> cells)
sort(List<Event> events, Comparator<Event> comparator)
复制代码