chili 默默学编程

《编程的智慧》- 王垠


王垠博客:

http://www.yinwang.org/blog-cn/2015/11/21/programming-philosophy


写好的程序:

1,反复推敲

2,好程序的特征:

  • 整齐套在一起的盒子
  • 枝丫分明的树状结构(一个 if 对应一个 else,它们有可能嵌套,有多层的缩进,而且else分支里面有可能出现少量重复的代码。)

3,逻辑意义上的模块化

  • 避免写长函数(40行以内)
  • 制造小的工具函数
  • 每个函数只做一个简单的事情
  • 避免全局变量和类成员

4,可读性

  • 使用有意义的函数名、变量名
  • 局部变量,接近使用它的地方
  • 局部变量,名字简短
  • 不重用局部变量(即:对另一个用途,重新声明一个,而不是覆盖赋值)
  • 复杂的表达式,提取出来,做成中间变量
  • 在合适的地方换行

5,写简单的代码

  • 避免使用自增(减)表达式
  • 不要省略花括号,让代码块清晰
  • 合理使用括号,让优先级清晰
  • 不使用 continue break (使用替代方案)

替代方案:

  • 如果出现了continue,你往往只需要把continue的条件反向,就可以消除continue;
  • 如果出现了break,你往往可以把break的条件,合并到循环头部的终止条件里,从而去掉break;
  •  有时候你可以把break替换成return,从而去掉break;
  • 如果以上都失败了,你也许可以把循环里面复杂的部分提取出来,做成函数调用,之后continue或者break就可以去掉了;

6,写直观的代码(避免多重 || &&,防止他们的短路特性)

7,写无懈可击的代码(if else 逻辑要写完整,防止逻辑错误)

8,正确处理错误

9,防止过度工程


reply ( 0 )