随笔分类 -  代码质量

摘要:模块 模块就是从逻辑上将系统分解为更细微的部分, 分而治之, 复杂问题拆解为若干简单问题, 逐个解决. 耦合主要描述模块之间的关系, 内聚主要描述模块内部. 模块的粒度可大可小, 可以是函数, 类, 功能块等等. 耦合 模块之间存在依赖, 导致改动可能会互相影响, 关系越紧密, 耦合越强, 模块独立 阅读全文
posted @ 2018-08-15 07:07 大道方圆 阅读(8911) 评论(5) 推荐(13)
摘要:最近业务需要出一份Java Web应用源码安全审查报告, 对比了市面上数种工具及其分析结果, 基于结果总结了一份规则库. 本文目录结构如下: 检测工具 FindSecurityBugs 基于class文件分析, 他是大名鼎鼎的findbugs的插件, 安装比较简单. 在findbugs官网下载安装包 阅读全文
posted @ 2018-07-09 06:53 大道方圆 阅读(6906) 评论(1) 推荐(4)
摘要:所有可以通过web端访问到的页面, 都需要考虑是否加上权限控制. 包括各类service & action. 禁止输出工程文件绝对路径到前台, 隐藏在js中的也不行, 会被扫描出来. 界面中涉及到文件上传的部分, 需要对上传的文件做大小以及二进制头限制, 防止木马图片之类. 密码相关的字段密文存储与 阅读全文
posted @ 2018-01-08 18:23 大道方圆 阅读(577) 评论(0) 推荐(0)
摘要:版本: 1.3.0 update: 2017.9.25 一、编程规约 (一) 命名风格 1. 【强制】代码中的命名均不能以下划线或美元符号开始,也不能以下划线或美元符号结束。 反例:_name _name_name / __name__name __name __name / $Object$Obj 阅读全文
posted @ 2017-12-04 16:23 大道方圆 阅读(1768) 评论(0) 推荐(0)
摘要:被滥用的instanceof instanceof滥用, 或者直接强转, 大都数情况可以用方法override, 而且应当避免使用isA(), isB()之类的写法; 比如sonA和sonB都继承自parent, 其中sonA和sonB想对parent里方法move()各自拥有独立的实现; 那么正确 阅读全文
posted @ 2017-11-23 16:17 大道方圆 阅读(613) 评论(0) 推荐(0)