Re: [请益] 写注解到底是不是好习惯

楼主: ripple0129 (perry tsai)   2018-12-27 23:50:54
这种讨论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忘记更新注解
每个人都一定有过这种经验嘛
作者: testPtt (测试)   2018-12-28 00:17:00
我是会做相依性注解 程式改这种注解难免要改
作者: piadora (皮多罗)   2018-12-28 00:40:00
请问有什么工具可以帮助画图
作者: BoXeX (心爱骑士团异端审判骑士)   2018-12-28 01:13:00
我是觉得跟开发环境和团队状况有关当整个团队能用的工具越少 就越需要注解来帮忙还有如果要给其他团队看的 多一点注解可以帮助理解同team的人习惯接近了 觉得clean到不行换个团队看就变成无字天书
作者: h124224 (Klv)   2018-12-28 04:59:00
还要考虑其他team也太累了吧 如果不是经常要看 为了其他team写注解只是浪费时间而已应该说,经常有人要第一次看
作者: dnabossking (少狂)   2018-12-28 09:15:00
当注解一堆的时后,他妈就是代表你的code有问题啦,不想着怎么把code写的更简洁,只想用注解来逃避自己的烂code真的是超烂的不是写注解不好,而是别写一堆废注解,还自以为是在提声可读性
作者: t64141 (榕树)   2018-12-28 09:23:00
遇过楼上说的这种,程式一团乱,然后跟我说看他写的注解就知道功能了
作者: jack0204 (Jarbar王朝)   2018-12-28 09:28:00
swagger之类的就是要写注解才有用阿PHP很多IDE都是靠注解来判断函式的,怎么可能不写
作者: knives   2018-12-28 09:30:00
可是我认为swagger那种PHP Doc 的不是大家讨论的那种注解
作者: rofellosx (鏖)   2018-12-28 09:39:00
习惯用建新的code取代修改就没忘记更新注解问题 即使与旧的有87%像..
作者: deray (Deray)   2018-12-28 10:03:00
靠北咧 Phpdoc跟注解不一样好吗
作者: jack0204 (Jarbar王朝)   2018-12-28 10:17:00
它不是注解难道是程式码吗? 它也是注解的一种阿注解的定义本来就很大,问题是写到什么程度而已
作者: testPtt (测试)   2018-12-28 10:36:00
打在code里跟程式功能无关的可以当做注解甚至c# attribute 也可以算注解
作者: BoXeX (心爱骑士团异端审判骑士)   2018-12-28 11:39:00
所以我才说要看团队状况一个专案少说几万行 你不加注解同team的还是觉得很好懂但其他人一但要碰 根本无从下手更多的是自以为 clean code 不写注解 结果超 dirty另外要求新手不加注解的我也不太能体会
作者: testPtt (测试)   2018-12-28 11:53:00
几万行过几个月回来看就不懂了 就算都自己写的也一样
作者: deray (Deray)   2018-12-28 12:10:00
Document 跟 Comment 都分不清的话 还有讨论的必要吗?

Links booklink

Contact Us: admin [ a t ] ucptt.com