什么是好的程序注释

作者:

以前总是被教育说注释写得越详细越好,我自己写代码的时候也恨不得将每一步都用自然语言给它翻译一遍,如果没写注释就觉得不专业。后来看到健硕写的 notes ,再加上最近做一个东西,也有一些感受。

注释,是为了给自己和别人在下次浏览代码的时候用的,它主要解决三个问题:

  1. what :下面代码是干嘛用的
  2. How :下面代码是怎么做的
  3. Why :为何要写这段代码(为何要这么做)

精确的注释,主要解释清楚第三点:为什么要写这段代码。关于 What 和 How 的注释应该是代码本身。

比如一段代码将一个矩阵排序,一个 code reviewer 看到这段代码时,他需要知道为什么要排序,排序对后续代码有什么影响。而第一点和第二点更多是通过代码本身得到而不需要再写注释去描述了。比如调用了 sort ,即明确说明该段代码是在排序,而调用 quicksort 则是用快速排序法给矩阵排序。

Q. E. D.

编程 » SQL
现在 Access 用的人应该不多了,本来我以为我也不可能用这玩意儿,但最近在用 VBA 通过 SQL 处理数据时,发现它的语法是 Access 的语法。平时对 SQL Server 语法相对熟悉一些。下文总结了 Access 和 SQL Server 语法的差异。
到当股指期货基差突然放大时,可通过买入现货,卖空股指的方式进行套利。但这个套利需要比较大的资金。比如 2014 年低,一手现货的市值高达 110 万,再加上期货保证金约 11 万,另还需要预留部分资金,保守估计至少要 140 万以上,才能进行一手股指期货的期现套利。