大牛是如何做到整套程序不写一个注释的

2019-02-16 21:08:09 +08:00
 zachlhb

最近刚到一家公司,公司用的微擎+人人商城来做项目,本人头回接触这两个项目,看了 2 天代码,差点没吐了,这两系统开发者是如何做到整套系统没有一个注释的,而且还 n 多字母变量,没有分层概念,完全就是堆砌代码,看来我真是才疏学浅,完全理解不了这种代码。

10726 次点击
所在节点    程序员
65 条回复
find456789
2019-02-17 10:46:23 +08:00
我想起之前在知乎看到一个匿名折叠的评论,大概是说, 某 a 公司旗下,开源的某热门项目,但是故意删光了注释, 目的是为了让其他人难以消化代码
babedoll
2019-02-17 10:49:19 +08:00
。。。你们没版本控制吗,我们用的 tfs,就算你后面吧注释删了,代码的历史记录也有注释啊。。
msg7086
2019-02-17 11:39:53 +08:00
@babedoll 要是有这么正规的流程你觉得楼主还会来问吗……
taaaang
2019-02-17 11:48:18 +08:00
其实源码没有注释一方面可能是人家有这方面的考量。
另外,我们公司编码 review 也不要求注释,甚至鼓励不写注释。但是,必须清晰,简洁,易读。程序即注释。
Lision
2019-02-17 12:19:44 +08:00
字母变量... 这莫非是用刷题的写法写业务?
Moker
2019-02-17 13:27:21 +08:00
以前公司也是要求不能写注释 但是有自己的一套规范 命名规则 强制写文档
qoras
2019-02-17 13:28:45 +08:00
因为注释写了也不受重视, 干脆不写或删掉, 还能保饭碗, 毕竟国内卸磨杀驴的事太多
hxt
2019-02-17 13:42:10 +08:00
微擎和人人商城都是商业项目,给你公司时的源码应该已经是混淆加密过了,后面进行二次开发要多乱有多乱。
littleMaple
2019-02-17 14:00:33 +08:00
可以看看《代码整洁之道》书中讲“注释”那一章,业界大牛的想法还是很值得参考的。

摘录一小段: (仅搬运,不代表个人立场)
> 注释并不像辛德勒的名单,它们并不“纯然的好”。实际上,注释最多也就是一种必须的恶。若编程语言足够有表达力,或者我们长于用这些语言来表达意图,就不那么需要注释——也许根本不需要。
> 注释的恰当用法是弥补我们在用代码表达意图时遭遇的失败。注意,我用了“失败”一词。我是说真的。注释总是一种失败。我们总无法找到不用注释就能表达自我的方法,所以总要有注释,这并不值得庆贺.......
everwanna
2019-02-17 15:26:46 +08:00
大多数代码是不应该写注释的,因为维护注释比维护代码还困难,有点长期项目经验的人都知道这一点。程序员应该努力让代码说话,let codetalk. 努力用每个变量名,函数名表达真正的意图,如果是一个不明显的计算就把它封装成一个函数,用函数名表达意义。
也如楼上所说,代码也有表达失败的时候,比如一个精细的算法,或者有一些难度的设计,往往写一点注释或者写下设计稿的 URL
eslizn
2019-02-17 16:39:57 +08:00
写的好的代码本身就是一种注释
ljspython
2019-02-17 16:53:07 +08:00
@Raynard #30 写个代码怎么搞得还跟间谍似的
mpanda
2019-02-17 17:03:50 +08:00
目前也在被这两个系统这么中,没有 orm 话说写起来太麻烦了
axzy
2019-02-17 17:26:41 +08:00
写好了,把注释批量删除不就行了。。。
Mtianmin
2019-02-17 18:19:26 +08:00
不写注释的还在职甚至还升职了,写注释的已经离职了
sison1234
2019-02-18 09:30:56 +08:00
微擎就是坑,人人度可以码的
lychnis
2019-02-18 09:48:00 +08:00
代码本身质量好的话不需要注释吧。。
ivanshaoaz
2019-02-18 10:54:46 +08:00
曾经做过一年多的微擎+人人商城的二开
惨不忍睹
a54552239
2019-02-18 12:08:39 +08:00
微擎本身感觉还好吧。仔细研究下还是看一看的。不过插件应用的质量就参差不齐了。
luosuosile
2019-02-18 13:41:33 +08:00
楼主不是说了,连字母变量都很多嘛,感觉就没打算给人看,跟代码整洁之道关系不大

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

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

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

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

© 2021 V2EX