编程的智慧

  -- >>>  此篇博文乃看 王垠大神 总结而来

  --->>>> 原文在这 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的代码,再考虑测试的问题。

原文地址:https://www.cnblogs.com/chase-star/p/12200569.html