《Clean Code》标注

来源:互联网 发布:windows libevent api 编辑:程序博客网 时间:2024/06/05 07:40

《Clean Code》标注

函数

  • 函数要么做什么事,要么回答什么事,但二者不可得兼,函数应该修改某对象的状态,或是返回该对象的有关信息
  • Try/catch 代码块丑陋不堪。他们搞乱了代码结构,把错误处理与正常流程混为一谈。最好把 try 和 catch 代码块的主体部分抽离出来,另外形成函数。

注释

  • 别给糟糕的代码加注释 —- 重新写吧
  • 用整理代码的决心替代创造废话的冲动吧。你会发现自己成为更优秀、更快乐的程序员。

格式

  • 关系密切的概念应该互相靠近。显然,这条规则并不适用于分布在不同文件中的概念。除非有很好的理由,否则就不要把关系密切的概念放到不同的文件中。
  • 相关函数。若某个函数调用了另外一个,就应该把它们放到一起,而且调用者应该尽可能放在被调用者上面。这样,程序就有个自然的顺序。
  • 概念相关。概念相关的代码应该放到一起。相关性越强,彼此之间的距离就应该越短。
  • 赋值操作的周围加上空格字符,以此达到强调目的。赋值语句有两个确定而重要的要素:左边和右边。空格字符加强了分隔效果
  • 把函数调用括号中参数一一隔开,强调逗号,表示参数是互相分离的。

错误处理

  • 当你打包一个第三方 API,你就降低了对它的依赖:未来你可以不太痛苦地改用其他的代码库。在你测试自己的代码时,打包也有助于模拟第三方调用。

味道与启发

  • 术语“魔术数”不仅是说数字。它泛指任何不能自我描述的符号。
  • 函数中的语句应该是在同一抽象层级上,该层级应该是函数名所示操作的下一层。这可能是最难理解和遵循的启发。
  • 得墨忒耳律。The Pragmatic Programmers 称之为“编写害羞代码”。两者都归结为确保模块只了解其直接协作者,不了解整个系统的游览图。
  • 正确的做法是让直接协作者提供所需的全部服务。不必逛遍系统的对象全图,搜寻我们要调用的方法。
0 0