工欲善其事, 必先利其器
环境
- jdk1.8
- IntelliJ IDEA
1. 静态代码检查
1.1 工具
阿里代码规范检测工具
安装教程: 阿里代码规范检查工具 https://www.cnblogs.com/chenjfblog/p/7685579.html
1.2 规范等级
在 Snoar 中对代码规则有五个级别, 这是前三个: 崩溃 / 严重 / 重要 , 也就是说前两级别是必须要处理掉的.
Blocker:
? 即系统无法执行, 崩溃或严重资源不足, 应用模块无法启动或异常退出, 无法测试, 造成系统不稳定.
严重花屏, 内存泄漏, 用户数据丢失或破坏, 系统崩溃 / 死机 / 冻结, 模块无法启动或异常退出, 严重的数值计算错误, 功能设计与需求严重不符, 其它导致无法测试的错误, 如服务器 500 错误
Critical
? 即影响系统功能或操作, 主要功能存在严重缺陷, 但不会影响到系统稳定性.
功能未实现, 功能错误, 系统刷新错误, 数据通讯错误, 轻微的数值计算错误, 影响功能及界面的错误字或拼写错误, 安全性问题
Major
? 即界面, 性能缺陷, 兼容性. 操作界面错误 (包括数据窗口内列名定义, 含义是否一致), 边界条件下错误, 提示信息错误(包括未给出信息, 信息提示错误等), 长时间操作无进度提示, 系统未优化(性能问题), 光标跳转设置不好, 鼠标(光标) 定位错误, 兼容性问题
Minor/Trivial
? 即易用性及建议性问题. 界面格式等不规范, 辅助说明描述不清楚, 操作时未给用户提示, 可输入区域和只读区域没有明显的区分标志, 个别不影响产品理解的错别字, 文字排列不整齐等一些小问题
1.3 阿里开发手册
下载地址: https://www.lanzous.com/i4jauib
密码 : 9tz4
2. 代码优化
2.1 工具
JProfiler 安装教程:
2.2 从哪些方面: 结构 & 效率
百度了一下, 如下:
(1)== 优化算法时间复杂度.==
(2)减少冗余数据.
(3)合理使用 copy 与 deepcopy.
(4)使用 dict 或 set 查找元素.
(5)合理使用生成器 (generator) 和 yield
(6)== 优化循环.==
(7)优化包含多个判断表达式的顺序.
(8)使用 join 合并迭代器中的字符串.
(9)选择合适的格式化字符方式.
(10)不借助中间变量交换两个变量的值.
(11)使用 if is.
(12)使用级联比较 x < y < z.
(13)while 1 比 while True 更快.
(14)使用 ** 而不是 pow.
(15)使用 cProfile, cStringIO 和 cPickle 等用 c 实现相同功能(分别对应 profile, StringIO, pickle) 的包.
(16)使用最佳的反序列化方式.
(17)使用 C 扩展(Extension).
(18)并行编程.
(19)终级大杀器: PyPy.
(20)使用性能分析工具.
参考博文:
个人觉得:
结构: 尽量遵守七大 OO 设计原则, 可以学习一下 Gof23(设计模式).
效率: 算法, 优化循环, 减少对象创建, 多线程, 不要写慢 SQL.
2.3 web 项目检测
代码静态测试(java)
来源: http://www.bubuko.com/infodetail-3458390.html