Haskell编程精华:什么时候该注释,什么时候不该注释
大家都知道,写程序时应该让程序易读易懂,而添加注释是让你的程序实现这个目标的好方法。然而,对于一个程序,并不是你添加了足够多的注释,它就能变得的易懂易读。事实上,第一要务是你的程序要写的干净整洁,这样也就没有添加注释的必要了。编译器是不会检查你的注释的,而注释往往会滞后于代码的更新,跟实际代码实现不一致。如果你打算要写一段注释,在你真正的动手写之前,请先思考一下下面的这些问题:
-
这段注释是来标注一个特殊情况吗?那么,你最好别让这个特殊情况存在。例如:
a+b-b -- 你不能删除这里的(b-b),因为这里的算术操作不按正常的结合性
如果你这里是自定义的数据类型,操作不按正常的结合性,那么,最好你就不应该让它看起来是一个Num
实例。
我要再次强调:努力 – 努力 – 再努力 – 去除程序中的特殊行为特征。注释是不能为这些反常行为提供安全保护的。
-
不用看都明白的注释?例如:
-- 互换一对元素 swap :: (a,b) -> (b,a)
恭喜你,你使用了一个非常好的函数名称,非常好的过程语法,使得这个函数的意图非常的明显,不需要任何注释。所以,删掉这个注释。留着它早晚是个祸害,有一天它会滞后于代码的更新。
-
注释的内容描述Haskell语言的动作?
let b=a+1 -- 让'a'加1
这里的+
和1
显然就是程序的执行过程。
你最好注释代码的意图,比如:
let b=a+1 -- 增加循环计数器'a'
但是,重复之前的观点,让程序干净整洁而不需要注释是最好的选择。例如:
let newCounter = oldCounter+1
共有 1 条讨论