写代码最大的痛苦, 在于理解别人的代码

2020-05-10 16:15:34 +08:00
 ybw

代码, 是把人的思维传递给计算机的工具, 所有的编程语言, 在设计时, 从没认真考虑过如何把一个人的思维传递给另一个人或者 2 个月后的编写者本人。

我们程序员不得不用一个工具, 强行去解决该工具设计时从没考虑到的问题, 这就是痛苦的根源。

编程是管理复杂度的工作, 复杂度分为问题本身需要的和工具本身带来的, 95%的编程工作, 后者的复杂度远远超过甚至碾压前者。

9183 次点击
所在节点    程序员
64 条回复
Techzero
2020-05-11 09:35:26 +08:00
命名不规范+没注释。。
jinliming2
2020-05-11 09:38:18 +08:00
所以,你为什么不写注释 doc ?
aaronhua
2020-05-11 09:42:10 +08:00
注释+文档很重要,毕竟你看的代码很多都是自己以前的代码
sagaxu
2020-05-11 09:46:27 +08:00
最近半年我在把几万行反编译出来的代码移植到别的平台,因为是专业软件,功能都不懂,要从反编译代码倒推出功能,再正向重写出来。翻译了几千行之后,我已经很习惯读到处 goto 的代码了。
a1562619919
2020-05-11 09:54:39 +08:00
写代码要看别人代码是指项目交接的情况吗?
如果原作者不是大佬,我一般在搞定难点重点后全部重写一遍。可能效率偏低但是开发心情好多了
Tonni
2020-05-11 09:59:23 +08:00
注释 + 文档,详细记录内部逻辑细节,这样以后维护起来会方便很多。
sdushn
2020-05-11 10:20:49 +08:00
前几天重构自己刚入行时写的代码,恶心了好几天
no1xsyzy
2020-05-11 10:50:34 +08:00
@xuanwu #7 命名并不能解决问题,英文母语使用者拿英文也不能缓解的问题,指望中文母语使用者用中文有任何程度的缓解都是妄想。
paoqi2048
2020-05-11 10:59:40 +08:00
“好的代码不需要注释”,这句话不全对,注释和文档还是不能偷懒不写
maomaomao001
2020-05-11 11:10:54 +08:00
@kop1989 额,api 文档是前后端沟通性文档 这个太容易同步, 因为只要不同步,前端接的时候出问题会找相关人员同步 ,
我主要面临的是,单纯的 前端程序的文档 , 或者后端系统本身的文档 , 怎么和自身的代码同步好呢 , 我暂时也没有找到好的办法
MaxTan
2020-05-11 11:17:50 +08:00
其实读别人的代码挺有意思的啊
好的代码: "卧槽,流批啊。 还可以这样"
烂的代码: "哈哈,这傻屌"
lzihua
2020-05-11 11:27:43 +08:00
从业者平均水平高低问题。一个尖子班 老师讲题 很多就直接跳过了 略过了
zshneedmoney
2020-05-11 11:36:52 +08:00
我感觉业务更苦难一些。代码难道比业务还复杂吗
liveoppo
2020-05-11 12:00:18 +08:00
在写代码的时候,清晰易懂应该是重要考虑项,而不仅仅是各种精妙
cabing
2020-05-11 13:09:39 +08:00
这个问题,ruby 之父考虑过,所以有了 ruby
ConradG
2020-05-11 13:40:10 +08:00
@cabing 读别人的 Ruby 还不一定有读汇编来得轻松(逃
peachpeach
2020-05-11 13:43:40 +08:00
是的,尤其是 shit 一样的代码,可读性非常的烂。
每次解 bug 读到这样的代码,都让人觉得很烦躁。
尤其是代码风格很烂的,写的时候完全不在意后面是不是有人会读。
C 语言。
fkdog
2020-05-11 13:53:57 +08:00
听过一个词吗?
文人相轻。
写代码同理,你认为别人写的烂,别人一样认为你写的烂。
jones2000
2020-05-11 14:45:40 +08:00
读代码也是程序员的一个基本技能, 任何一个已经上线运行 1-2 年的程序的代码都有它存在的意义,就算你重写也需要看懂老代码, 重点就是看他踩过的坑,解决这些坑的代码可能就是代码里面最烂的一部分。
yuxing1171
2020-05-11 15:26:16 +08:00
来,互相伤害。

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

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

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

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

© 2021 V2EX