把代码写得简单易懂到底好不好?

2014-11-25 10:58:39 +08:00
 nomemo
最近我喜欢把那些逻辑复杂的大块难懂的代码不再称作垃圾,倒喜欢叫做方法原型或者脑中原始方法的直接映射。也正是因为这样,开始整理那些方法原型,进行拆分与细化。复杂逻辑写得越来越简单易懂。

虽然同事也会说代码漂亮,但就越来越感觉自己容易被人取代

正好,上周有个同事因为家里有事回家一周,他手上的工作就完全停止,因为他大量的代码与功能实现都还是代码原型。

我上周工作了七天,昨天休息了一天,结果别人拿着我的代码就能改。

略微有些想法,跟V友分享一下
16385 次点击
所在节点    程序员
122 条回复
em70
2014-11-25 11:34:54 +08:00
《数学之美》说任何一个事情都有一个简单方法解决,找到这样的方法不是偷懒,越简单的方法才越稳定,更有生产力。
Doubear
2014-11-25 11:35:02 +08:00
最烦逻辑太复杂的东西了,看都看不懂。也最烦为那些本来很简单的意思,非要取个名称让人摸不着头脑的。很妨碍新手学习~~~
jeffrey
2014-11-25 11:35:49 +08:00
@nomemo 架构层人人可以看可以提建议,但只能个别人修改
别人提交的全部退回,弄过几次就好了
xenme
2014-11-25 11:37:21 +08:00
@nomemo 真没讽刺,只是夸张了点。
其实这个还是看老板。就像大家写的,简单明了,老板会说你没价值,这么简单别人也能搞,写的复杂,老板担心人走了,没人接手。
boom11235
2014-11-25 11:37:58 +08:00
@mcfog 这个说法很对。
好的程序员要让自己很容易被替代,才能继续往上走,不然你只能focus在自己负责的那一块东西上。
oldcai
2014-11-25 11:38:20 +08:00
通过这种方法不让别人接手是比较短视的,不断有人来接手,项目成了,是自己的成就;没人能接手,自己也忙不过来了,项目拖垮了,自己虽然能拿到工资,也是白费了自己的时间。
Comdex
2014-11-25 11:39:29 +08:00
这不是技术问题而是管理问题了矣。。。
tomydays
2014-11-25 11:41:03 +08:00
Simple is better than complex.
Complex is better than complicated.
nomemo
2014-11-25 11:41:30 +08:00
@boom11235

目前看到的最好的回复
assassinpig
2014-11-25 11:44:15 +08:00
底层和核心代码写的易懂一些,毕竟出了问题好找,其他地方可以选择写飘逸一点,不简单但是少读两本书的肯定看不懂写不了
caixiexin
2014-11-25 11:44:25 +08:00
就像把话简单说一样,这是个很好而却很难实现的技能啊。。
icedx
2014-11-25 11:45:55 +08:00
nomemo
2014-11-25 11:47:44 +08:00
@icedx 这个我看过

也是看过这个刚好结合着昨天一天的休息后想到的
pythoner
2014-11-25 11:50:47 +08:00
@tomydays 我大python党就是思想境界高
hackerwgf
2014-11-25 11:52:08 +08:00
我觉得把代码写的简单是挺好的一件事
jeansfish
2014-11-25 11:52:44 +08:00
本事是自己的。拆成一个个简单的之后,或许别人直接改你的局部代码,而不再关心全局的架构、思想了。原来一个原型,别人要改,可能就要把前前后后都看一遍,全理解了才好下手。
robertlyc
2014-11-25 11:54:02 +08:00
你以为想写简单就能写简单了? naive
我还想当美国总统哪
semicircle21
2014-11-25 11:54:26 +08:00
写别人看不懂的代码, 在做 Code Review 的时候, 不是会被骂的狗血淋透才对么?
lushl9301
2014-11-25 11:54:59 +08:00
让我想起了云风。。。最近在看他的书。

他的同事都是拿着他写的框架等等来完成整体代码实现的。

1.自己写的懂
2.了解别人水平,自己写出来让别人懂

比如找个地方可以实现,没有很难。那就写几行注释,标明interface,然后交给同事去写。自己完成架构和核心性能部分。
lushl9301
2014-11-25 11:57:29 +08:00
@icedx 已经被深深感动。。。

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

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

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

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

© 2021 V2EX