同事写的注释实在太多余了

2020-08-23 13:18:32 +08:00
 wuzhouhui
例如声明变量和函数之前, 都要写一行注释

// 声明变量
// 声明函数

大家都是成年人, 哪有人不知道这是在声明, 至于写个注释吗? 放锁写个注释, 解锁再写个注释. 都三十好几的人了, 也不看看其他人是怎么写代码的, 都说了不要写多余的注释, 还不肯改
16298 次点击
所在节点    程序员
103 条回复
watzds
2020-08-23 21:16:35 +08:00
过犹不及,这也是坏习惯,不是什么至少比不写好

精力花在这地方,代码命名不知道怎么样
LifStge
2020-08-23 21:20:58 +08:00
@taogen 确实啊 不过也不是完全无意义的事情啊 在大量代码中 一眼中文 看出这个代码是干嘛的 不是更轻松么 具体不知道什么语言的代码 有时候还是很必要的 这样一眼看出来 肯定要比 虽然是特别简单的 但是还是要分析下上下代码才能看出来具体的意义强一些啊
还有就是习惯问题 很多时候用注释做下比较简单的分割 具体也没啥意义 随手就把当下的简单的写上也无可厚非

咋那么多 动不动就上纲上线的呢 是不是不符合自己规范的代码都是 XXXX 呢.....
LifStge
2020-08-23 21:22:14 +08:00
@wangzp0303 哈哈 确实 签证区 好生奇怪
huiyifyj
2020-08-23 21:34:32 +08:00
go 语言规范要求只要是 export 的变量和函数都写注释,这么看来怕不是所有 gopher 都表示无辜。

突然想起来,vscode 的 go 扩展,如果不写注释,会黄色警告⚠。
zengguibo
2020-08-23 21:42:32 +08:00
毕业后去了一家公司,里面的代码都没有注释,问了原来的员工,答:代码就是最好的注释
kaedea
2020-08-23 21:55:20 +08:00
公有 API 跟 算法过程需要写注释,其他地方通过 CoseStyle 进行语义注释。
Girlphobia
2020-08-23 22:46:27 +08:00
@CEBBCAT 遇到错误节点的帖子可以向管理员举报。
dvaknheo
2020-08-23 22:50:20 +08:00
@zengguibo 只要这代码不刁钻。
读代码,写得怎么样都能忍,只要关系不复杂。不能忍的三种

这东西从哪里冒出来的。
改了这地方,其他地方崩了
改了其他地方,这地方崩了。

就以我熟悉的 PHP 来说吧。
$object->getFooByCache(); 搜一下,没引用,咔嚓了。

等等,怎么 $object->foo 报错了。 原来是魔术调用, $object->foo <=> $object->ByCache
52coder
2020-08-23 22:55:32 +08:00
这种还好,你见过一个 3000 多行的代码,一行注释都没有的吗?真的日了狗了。
dustinth
2020-08-23 23:01:27 +08:00
不好的注释不如不注释. 并不是比没有注释强.
Takamine
2020-08-23 23:02:46 +08:00
诚然,注释是要做到简洁准确。
如果说极端一点的话,我宁愿看注释内容有效,但可能有很多多余注释的代码;也不愿意看一堆吹嘘所谓的代码自述性的人写的几乎没注释,然后就算是去问写代码的,结果自己都不知道自己当时为什么要这么写的代码。
毕竟真的要接手的时候,看着这前面搞了一波抽象之后又逻辑嵌套很深的代码,有注释是真的节约很多时间,要是当初写这代码的人都找不到了,那有注释就真是很良心了。
optional
2020-08-23 23:16:53 +08:00
大部分的注释都是多余的。 命名准确就是最好的注释。
caola
2020-08-24 00:32:39 +08:00
@wuzhouhui 注释多不可怕,可怕的是一个都没注释的,很多开源软件都是非常多注释的,比如:jquery
aureole999
2020-08-24 02:21:25 +08:00
注释一般写的是目的,为什么要这么干。而不是把代码翻译成文字。
Mutoo
2020-08-24 07:36:04 +08:00
DOs:

// Describe the requirement

// How and why doing this

// Special/Edge Cases

// Helpful Resource: https://example.com

/*
* Docstring
*/

DONTs

// This is comment

// This is a variable
var foo = bar;

// if condition do that
if(condition) {
// that
}
babyblue
2020-08-24 08:06:36 +08:00
除非你是他的上级;既然你说过一遍就不要再说了 ,除了破坏同事关系起不到任何作用,不影响代码运行就行了,你有强迫症也得给我憋回去
Goooler
2020-08-24 08:17:11 +08:00
好的命名本身就是好的注释,你说的这种完全就是废话呗
jiyingze
2020-08-24 08:24:02 +08:00
java 代码。我见过给 setget 注释的。正常业务代码不写注释
Daniel17
2020-08-24 08:36:41 +08:00
唉,我现在看代码就很烦,都是 // 调用开始, // 调用结束
xiaomingVTEX
2020-08-24 08:43:21 +08:00
不作讨论, 推荐个文章给大家看看 [Stop Writing Code Comments]( https://blog.usejournal.com/stop-writing-code-comments-28fef5272752) (译文可搜 停止代码注释) , 或许对大家有帮助

这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。

https://www.v2ex.com/t/700675

V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。

V2EX is a community of developers, designers and creative people.

© 2021 V2EX