发表于: 2017-11-07 21:59:45
3 663
今天完成的事情:
代码生成终于快弄完了。。。明天争取开始写接口
准备了一下小课堂,也没什么实质性的东西
java开发代码规范(咱们公司的)
列一下我不太了解的
抛出异常的约定
- 1、只允许和必须抛出ServiceException和ServiceDaoException两种异常,不允许抛出其他种类的异常
- 2、如果接口不允许参数为null,但传入的参数为null时不必抛出异常,只要记录错误日志,并返回空值或者false就可以了
日志记录
1、对于关键操作要记录参数和调用信息的日志
2、在最初捕捉到或抛出异常的地方记录日志,日志的内容包括:参数信息和异常的堆栈信息
3、如无必要,不需要打出Lsit、BigModel的详细信息,仅列出Size和ID即可
程序注释的建议
日期
1、Long是8个字节.Date是32个字节,Long占用更少的内存,转成其它格式更方便.因此关于日期的存储,请使用Long,而不是Date
- 2、如果在Jsp里需要显示时间格式,请丰富并使用我们自己的Jsp-Tag
错误信息
1、不要在Java代码里写入任何错误信息,只返回错误标志.错误信息要么写在配置文件里,要么直接在Jsp里写入.
Service实现
- 1、基本原则是每张表对应一个Serivce.可以适当减少Service的数目,但是一定要保证Service功能的高内聚.
- 2、对于最常用的Service组合,可以提供一个CompositeService来做Serivce的组合处理.
- 3、Service的实现逻辑要简单清晰.通常在十行以内.
Controller
- 1、controller中接口首先要将收到的参数用日志全部打出来,便于查找异常
- 2、controller中对数据库进行操作时,一般说来都需要用try...catch捕捉异常,并且将日志打出来,有可能出现空指针的地方需要进行判断
- 3、修改状态接口,不应该使用开关机的方式,如:/cardType/{id}/status。应该明确传入并做好判断 如:/cardType/{id}/status/{status},如果状态一致则不对数据库做修改
- 4、所有接口,不应该开放所有权限给前端操作,风险会较大,可能产生脏数据。
如何选择字段的数据类型
(1)越小的数据类型通常更好:越小的数据类型通常在磁盘、内存和CPU缓存中都需要更少的空间,处理起来更快。
(2)简单的数据类型更好:整型数据比起字符,处理开销更小,因为字符串的比较更复杂。在MySQL中,应该用内置的日期和时间数据类型,而不是用字符串来存储时间;以及用整型数据类型存储IP地址。
(3)尽量避免NULL:应该指定列为NOT NULL,除非你想存储NULL。在MySQL中,含有空值的列很难进行查询优化,因为它们使得索引、索引的统计信息以及比较运算更加复杂。你应该用0、一个特殊的值或者一个空串代替空值。
明天计划的事情:
跑项目
收获:
这篇文章挺好的
https://zhuanlan.zhihu.com/p/30742986
评论