zoukankan      html  css  js  c++  java
  • 编程的智慧

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

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

  • 相关阅读:
    遗传学详解及Matlab算法实现
    (转)非常好的理解遗传算法的例子
    Halcon学习笔记之支持向量机(二)
    Hough 变换
    主元分析PCA理论分析及应用
    Retinex图像增强算法
    Halcon学习笔记之支持向量机(一)
    阿里云OSS安装使用问题
    JS中双击和单击事件冲突解决
    JavaScript正则表达式应用---replace()
  • 原文地址:https://www.cnblogs.com/chase-star/p/12200569.html
Copyright © 2011-2022 走看看