发表于: 2017-11-29 19:07:17
1 696
今日完成:
了解了JAVA开发规范,解决了一下以前mvc不能返回html的问题,解决了一点。
明日计划:
看看书,许许愿。
成果展示:
项目目录
- 包、Class、Controller、Jsp、Resource等各种文件和源码的命名及目录结构,以自己的功能为名,不要中英混合。
Model 类
- 每一张表对应一个Model,不要为前端创建和DB Model相同的冗余Model,使用@Transient 扩展Model中和DB里对应不到的字段
- Model不要依赖前端展现。Model只应该和你的业务有关系。Service接口只能返回Model对象或Java内置对象,不能返回跟页面展现相关的对象
- Model中保存的常量,一般来说只设置数据库中需要保存的状态
Dao数据库接口
- 取List<Object>,先取IDS,再通过MultiGet的方法取Object。不要再写Select*这种语句,取Count值。直接使用Dao的Count方法,不再单独为Count写Count(*)的Sql语句
- Dao不包含业务逻辑,只提供简单的CRUD和读取List。一般情况下一个Dao是对应一个表
- inert方法不需要设置CreateAt UpdateAt,update方法不需要设置UpdateAt,已经有封装好。使用insert后应该返回id值并传回前端。
mvc接口
- 尽量不要使用New来创建对象(除了Java内置对象和系统中的Model对象),而是使用Spring来做依赖注入;尽量依赖接口类型,不要直接依赖具体实现,具体实现在spring注入的时候才知道
- 接口实现类中的每一个接口的实现,尽量不包含,或者是少包含私有方法,可以将私有方法转换成Util类来实现
- 在调用其他的方法之前,要弄清楚这个方法的实现逻辑是否符合自己的情况,并且需要检查此方法是否做了必要的参数检查,以确保所有的情况都能返回预期的结果
- 有同时取List数据和取单个数据的需求时,建议参数传递设定为List,而不是仅仅是String,不建议直接提供两种不同的接口
代码内容
- 不要在Java代码里写汉字或者是数字。
十MVC
- 不要在Service层和Controller层对数据做太多的展示形式的加工.使用Jsp或者是Tag或者是交付给前端工程师做Model的展现形式处理
- 当一个模块里包含多个功能的时候,以功能(而不是以模块)为依据去创建多个Controller
代码规则
- 每个方法的长度不要超过50行
- IF块和其他块都要放在两个大括号中,以便于后来维护人员能够在需要添加逻辑的时候明确知道在什么地方加
- TODO代码表示还未完成的代码,如果需要在提交的代码中存在此类注释,则必须说明原因,如:明确表示不是没有完成,而是要放在下一期版本中完成
- 在两个逻辑块之间要加空行,在必要的时候要在逻辑块上添加注释,可以使代码结构清晰,易于维护
- 不要超过三层以上的IF嵌套,如果遇到这种情况可以用方法重构的方式来避免
- 不要在for循环里添加new不会更改的对象的操作,会造成资源的浪费
日志记录
- 对于关键操作要记录参数和调用信息的日志
- 在最初捕捉到或抛出异常的地方记录日志,日志的内容包括:参数信息和异常的堆栈信息
- 如无必要,不需要打出List/BigModel的详细信息,仅列出Size和ID即可
之前controler不能返回html页面,现在成功了,听说是因为html数据静态资源,但是为什么jsp不算静态资源,反正在web.xml中添加静态资源的加上html就可以了。
<servlet-mapping>
<servlet-name>default</servlet-name>
<url-pattern>*.html</url-pattern>
<url-pattern>*.js</url-pattern>
<url-pattern>*.css</url-pattern>
<url-pattern>*.jpg</url-pattern>
<url-pattern>*.png</url-pattern>
<url-pattern>*.gif</url-pattern>
<!--<url-pattern>/t10/*"</url-pattern>-->
<url-pattern>*.</url-pattern>
</servlet-mapping>
视图解析器中改为html,但是jsp也能返回,搞不懂为什么,可能是因为jsp是java亲儿子吧。
<bean class="org.springframework.web.servlet.view.InternalResourceViewResolver" p:order="2">
<property name="prefix" value="/"/>
<property name="suffix" value=".html"/>
</bean>
然后出来的页面出现了编码错误。 解决方案,页面上鼠标右键点出编码,之后选择html上设置的编码就行了。
进度:
等复盘评审。
评论