1.声明变量保证就近原则并简单明了
2.代码中要避免出现(==数字)这种用数字代替含义的代码,如果出现>2次就要考虑写个枚举,如果非要==数字,请备注好
3.不要多层嵌套判断,不断向上层返回boolean 想不想吐!!!
eg:
boolean isNullMaskInfo(MaskInfo maskInfo) {
if (maskInfo.getMaskId == null) {return true;}
}
boolean isRightParam(PunishRequest request) {
if (request.getPunishMethod >0) {return true;}
}
boolean isValidPunish(MaskInfo maskInfo, PunishRequest request) {
if (isNullMaskInfo(maskInfo) && isRightParam(request)) {return true;}
else return false;
}
public static void main(String[] args) {
if (isValidPunish(maskInfo, request)) {
XXX
} else {
XXX
}
4.当方法参数个数>4的时候,如果不能封装参数,那就换思路吧
5.一个方法争取只做一件事,这样方法一定不会很长。
6.方法嵌套方法,如果有对数据库的操作,争取美中类型只做一次。(eg:可以在最外层select,将结果封装做变量,经过一系列操作在最外层update)
7.try{}catch(){} 太丑了,目前必用的有:
解析JSONObject:防止获取的key不存在
获取数组长度时:防止数组==null,当然if判断也可以
8.方法返回值避免null,""等
9.重复代码不要写>2遍。
eg:当初的申诉,发Push完全可以复用代码
10.日志级别,debug,info,warn,error
11.代码整体要看着清晰,一个方法內,不同逻辑用空行断开
12.!("").equals(str) !"".equals(str) !str.equals("")虽然Java底层都有优化,但第一种写法更漂亮些
13.命名:总之多想想,自己读起来都不确定/感觉土的不要不要的/单词第二天看就忘记什么意思的/非一针见血的名字 那就在考虑一下吧
14.方法名和返回值要相对应啊
eg: 方法名:isValidPunish()
正确的返回形式:可以处罚返回true 而我恰恰相反。。。。。
15整个项目中,保持每个概念用一个名字
eg:查询相关的用fetch 就不要用get/search了
16.对于经常给赋值的对象,考虑通过构造方法赋值
17.bean最起码要有toString(), 空构造函数(赋初始值)
1.Python中解决不知别中文问题:
import sys
reload(sys)
sys.setdefaultencoding('utf-8')