这种讨论clean code的东西
各有各的说词
我个人也是偏向不注解
但可能注解说明该module功能
或是注解回传的资料结构
譬如
def get_city_population():
"""
return [
{Taipei:[
{NanGan:1000},{WanHua:1000}...]
]
...
]
"""
手机排版随便排的看不懂请见谅
让使用方法的人快速了解嵌套结构
当然这也有code与注解版本不相符的问题
不过个人觉得这会算是帮助快速理解
蛮实用的注解方式
而太基本的方法千万不要多写
特别是强型别的语言更别加废话注解
public int getAge(User user)
这种注解取得user年龄的废话
就是为了注解而注解了
程式码能够完整表达意图时
只需要思考意图之外
还需要告诉读code的人的事
才需要额外说明
譬如
#Boss required to do this, you have to suck it
有时候去看一些大型专案的开源原始码
注解比code还多啊XD
而且一些是在讲继承与依赖关系
个人觉得不是那么必要
真正需要去搞懂原始码的时候
通常自己靠源码分析工具
来了解相依性的部分
还有图可以看呢
总结来说注解的重点就是
能够帮助读者快速理解
以及程式码之外的告知事项
其他就没有必要
而注解的事项尽量会是不因为code的改动
而需要去修改的这类型注解
更新code忘记更新注解
每个人都一定有过这种经验嘛