off-by-one bug 差一错误

差一错误(英语:Off-by-one error,缩写OBOE)是在计数时由于边界条件判断失误导致结果多了一或少了一的错误,通常指计算机编程中循环多了一次或者少了一次的程序错误,属于逻辑错误的一种。比如,程序员在循环中进行比较的时候,本该使用“小于等于”,但却使用了“小于”,或者是程序员没有考虑到一个序列是从0而不是1开始(许多程序语言的数组下标都是这样)。在数学领域,此错误也时有发生。

wiki

top-down design 自顶向下设计

1969年,Wirth提出采用“自顶向下逐步求精、分而治之”的原则进行大型程序的设计。其基本思想是:从欲求解的原问题出发,运用科学抽象的方法,把它分解成若干相对独立的小问题,依次细化,直至各个小问题获得解决为止。

分解的原则

  • 程序可以解决一个问题,这个问题可以是高阶的
  • 大部分所写的方法应该在1~15行之间。这样会改变本来的设计观念。
  • good names 名字应该描述这个方法是干什么的,解决了什么问题
  • 注释,注释能够更好的说明方法是干什么的。