-- >>> 此篇博文乃看 王垠大神 总结而来
--->>>> 原文在这 http://www.yinwang.org/blog-cn/2015/11/21/programming-philosophy 大家觉得好可以多多支持
尤其喜欢这么一句话: 编程是一个具有艺术性和创造性的工作。需要很多练习和领悟
也希望自己能够多点勤奋,多耕耘多收获
1、反复推敲代码
--> 多复盘研究自己的代码
如果反复提炼代码已经不再有进展,那么你可以暂时把它放下。过几个星期或者几个月再回头来看,也许就有焕然一新的灵感
2、写优雅的代码 (这是因为程序所做的几乎一切事情,都是信息的传递和分支)
--> 整整齐齐,像电路逻辑分明,分流或者汇合,切记 if 勿省略 else
3、写模块化的代码
(1) 避免写太长的函数 最多40 ~ 50行为佳
(2) 制造小的工具函数
(3) 每个函数只做一件简单的事情
(4) 避免使用全局变量和类成员(class member)来传递信息
4、写可读的代码
(1) 使用有意义的函数和变量名字。比如:put(elephant1, fridge2);
(2) 局部变量应该尽量接近使用它的地方。
(3) 局部变量名字应该简短。
(4) 不要重用局部变量,会让人误以为这个局部变量会在哪里使用
(5) 把复杂的逻辑提取出去,做成“帮助函数”
(6) 把复杂的表达式提取出去,做成中间变量
(7) 合理的地方换行
5、写简单的代码
(1) 避免使用自增减表达式
(2) 永远不要省略花括号
(3) 合理使用括号,不要盲目依赖操作符优先级
(4) 避免使用continue和break。
1. 如果出现了continue,你往往只需要把continue的条件反向,就可以消除continue。
2. 如果出现了break,你往往可以把break的条件,合并到循环头部的终止条件里,从而去掉break。
3. 有时候你可以把break替换成return,从而去掉break。
4. 如果以上都失败了,你也许可以把循环里面复杂的部分提取出来,做成函数调用,之后 continue 或者 break 就可以去掉了
6、写直观的代码
--> 避免阅读一串代码需要往上很远找其逻辑是什么,分支应该明确
--> 少写 && 或 || 炫耀代码水平而应该是简洁直观,避免过度思考 if = 如果,! = 失败,即不需要利用逻辑学知识,就知道它在说什么。
7、写无懈可击的代码
--> 避免疏忽分支, if 勿省略 else
--> 少用 “缺省值”例如:
String s;
if (x < 5) {
s = "ok";
} else {
s = "";
}
而不是
String s = "";
if (x < 5) {
s = "ok";
}
8、正确处理错误
(1) 使用有两个分支的if语句,穷举所有的情况,不漏掉任何一个。
(2) 尽早处理错误机制
(3) try { … } catch里面,应该包含尽量少的代码。
9、正确处理null指针
(1) 尽量不要产生null指针。尽量不要用null来初始化变量,函数尽量不要返回null。
10、防止过度工程
(1) 先把眼前的问题解决掉,解决好,再考虑将来的扩展问题。
(2) 先写出可用的代码,反复推敲,再考虑是否需要重用的问题。
(3) 先写出可用,简单,明显没有bug的代码,再考虑测试的问题。