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

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

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

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

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

略微有些想法,跟V友分享一下
16386 次点击
所在节点    程序员
122 条回复
cszhiyue
2014-11-25 11:57:58 +08:00
楼主心态要放正啊..首先把代码逻辑写简单是一种能力的体现.其次对于代码你的责任不是去维护它.难道一旦发生什么事都要你去做...解放自己,方便他人,何乐而不为.你的面前是星程大海
Automan
2014-11-25 11:58:30 +08:00
某本禅书中看到的,能让计算机读懂你的代码容易,能让人读懂你的代码的才是高手
akfish
2014-11-25 11:59:13 +08:00
@nomemo 当然你想在这种环境一直待下去,这种市井小民的“小聪明”也是一种生存方式。
问题是你的职业规划就是从一个路边摊到另一个路边摊么?如果不是,把该做的都做了,而且做得更好,吃点小亏(比如被另外一个更便宜的店小二替代了)又怎样?那时你水平到位早就不用去路边摊了。
jsjscool
2014-11-25 12:15:55 +08:00
推荐看《重构》
zakokun
2014-11-25 12:23:04 +08:00
我觉得,从短期利益上来看,写的复杂点是有好处的,就像你说的,让自己在位置上坐的更稳固.但如果从个人能力提高上来说,我觉得还是清晰易懂更好,人不能总是处在一个层次不提高不是?
jiang42
2014-11-25 12:25:08 +08:00
代码是写给人看的,只不过恰好计算机也能看懂罢了。
NathanInMac
2014-11-25 12:26:07 +08:00
性能没大差距的情况下,越无脑越好
sadaharu09
2014-11-25 12:27:41 +08:00
结构合理,简单易懂即可。
kofj
2014-11-25 12:35:11 +08:00
把代码写到大家都能看懂始终非常厉害的技能,如果你达到了,压根儿就不用为工作什么的担心
ruchee
2014-11-25 12:36:43 +08:00
写得简单易懂才是能力的体现,其他别想太多
zakokun
2014-11-25 12:39:21 +08:00
@zakokun 但是,另外来说,我不知道有没有那个能力让自己水平提高到能脱离这种庸俗的环境. 就像我自己经常觉得中国的各种状况让人不满,然后我就经常对自己说"不和他们一般见识,我不屑和他们为伍",但是,即使再怎么挣扎,依然不得不去面对这些,真是......
tini8
2014-11-25 12:46:03 +08:00
古人云:杀人放火金腰带,铺路修桥无尸骸

殖民者说:善良的印第安人就是死了的印第安人

为他人考虑的人往往是献出自己的鲜血生命,来成全他人的野心

政治如此,经济如此,IT行业也是如此
kmvan
2014-11-25 12:47:31 +08:00
以前我做过一款网页应用,稍微用了些逻辑来加密了各种变量,后来连自己也解不开了
ven
2014-11-25 13:00:51 +08:00
如果代码只能自己知道怎么改,升职也会成问题,可能永远只能在那个位置,因为只有你能改~
AlanZhang
2014-11-25 13:02:30 +08:00
这个你要看情况了,如果你的领导是真正懂技术的,有好处,如果不懂技术,或者技术风格喜欢面条,那你就吃亏了。当年我就吃过这样的亏,不过现在俺成领导了,谁再把代码写的难懂/面条,扣分。
xiamingchong
2014-11-25 13:33:37 +08:00
代码是写给人看的, 顺便能在计算机上运行
Mutoo
2014-11-25 13:39:34 +08:00
从CMMI的角度来看,简单是好的。CMMI里最低级的:个人能力决定项目成败,整个项目是不可控的。

http://zh.wikipedia.org/wiki/%E8%83%BD%E5%8A%9B%E6%88%90%E7%86%9F%E5%BA%A6%E6%A8%A1%E5%9E%8B%E9%9B%86%E6%88%90
NICE
2014-11-25 13:40:37 +08:00
不可替代的才有价值
jamiesun
2014-11-25 14:06:34 +08:00
@nomemo 眼光放长远一点,你若是有能力的人,走到哪里都有饭吃,该担心没有饭吃的是那些跟随者,你应该从多维度提升自己的专业能力,提升自己的综合实力,单技能是很难形成核心竞争力的。

代码仅仅是软件系统中的一部分而已,还有宏观的架构能力,还有沟通协作,以及写好软件文档都是能力,眼光向前看,不用管这些小心眼。


罗辑思维最近有一期《成大事者不纠结》,强烈建议看一看,讲的是曾国藩的事,很有启发。
nomemo
2014-11-25 14:09:41 +08:00
@jamiesun 罗胖同好,最近一个月都在赶项目没看,谢谢提醒~

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

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

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

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

© 2021 V2EX