需求很简单,但代码写的很复杂,这是为啥呢?

勤劳一些的同学应该会经常的去看其它人的代码,经常会发现明明很简单的需求,但代码的具体实现却写的很复杂,这是为啥呢?

面对这种问题,我一般会回复说,“为了应付各种不同的情况”。

但是实际工作中,许多情况确实不是人的意志为转移。例如代码的烂掉,刚开始的时候,我或是你或是其它的人,会把代码的结构设计的尽量的ok,可扩展,可修改,让它尽量的可以面对或满足各种不同的工作场景。

但随着时间的推移,我们没有办法去预测需求。所以事实上我们并不知道,这个代码在未来的时候会处于什么样的工作场景。而需求的产生,是因为用户的需求,大家都知道,在现如今的互联网时代,用户是很没有耐心的。如果你不能在最短的时间内满足他的需求,他就会跑到别人的碗里。

所以,如你所见,所有的需求都是很急,所有的需求都要以最快的速度来完成。这也就直接造成了,新添加的代码并不能像之前那样的充分设计。而是以快速的满足用户需求,完成工作任务为目的。

各种代码就像在墙上打的补丁一样,一块一块的慢慢加上去了。时间一长了,再一看这个代码,就会发现这代码怎么这么乱,这么复杂。

更为要命的是前任的代码,前任的代码,本身就已经是打满了各种补丁。而且里面逻辑都是各种交织,在这种情况下,你所能做的,也只是打上一个新的补丁。

直到版本更新,或是你也走人,或是公司解散,或是产品死亡,除了这些可能性之外,我个人以为,随着时间推移,代码的烂掉,似乎是不可避免的。

原文发布于微信公众号 - web前端教室(webfeel)

原文发表时间:2017-08-18

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏马哥教育

学不好Linux?我们分析看看正确的学习方法是什么-马哥教育

2018年里,Linux运维的职位数量和平均薪资水平仍然持续了去年的强劲增幅,比很多开发岗位涨的都快。从研究机构的数据来看,Linux职位数量和工资水平涨幅均在...

3836
来自专栏CSDN技术头条

Facebook:如何让应用适合所有系统、带宽以及屏幕

如果你的移动应用程序只能在某个地区(比如US)运行良好,那么该如何改善?在@scale conference上,Facebook多次谈及了这个问题。那么如何才能...

2069
来自专栏Material Design组件

今后设计可注意的点

给用户一份精美小礼品这样的友好举动再好不过了。具体来讲,送出礼品也是之有效的获得客户忠诚度的战术,这是建立在人们互惠准则上的。而这样做所带来的好处也是显而易见的...

984
来自专栏机器学习算法与Python学习

Chrome 的哪些功能改变了我们浏览网页的方式?

Chrome已经十岁了,正式进入了少年时期,过不多久它就要长起小胡子并且声音变得嘶哑。

862
来自专栏Vamei实验室

树莓派:你是我的眼

作者:Vamei 出处:http://www.cnblogs.com/vamei 严禁任何形式转载。

2802
来自专栏杨建荣的学习笔记

基于报警处理的思考(r9笔记第88天)

晚上在琢磨怎么把报警的处理实现自动化的功能,想来想去,发现其实很多内容都是相通,在纸上写写画画,简单理了理自己的思绪。 人嘛,有时候不逼着自己,只会更加懒惰,而...

3435
来自专栏Hongten

不使用 Ruby 的十个理由

请注意:这是一篇主观意识的文章。它的目的并不是要说服你使用或者不使用Ruby,或者其他任何技术。这篇文章所涉及到的环境是 Web 开发,而不是通用的编程。我想...

2.5K1
来自专栏假装我会写代码

如何打造一个破千 Star 的开源项目

1234
来自专栏马哥教育

初学者怎么快速掌握Linux运维?

2018年里,Linux运维的职位数量和平均薪资水平仍然持续了去年的强劲增幅,比很多开发岗位涨的都快。从研究机构的数据来看,Linux职位数量和工资水平涨幅均...

4284
来自专栏腾讯移动品质中心TMQ的专栏

走进标准化测试

一、引言 为避免大篇幅的概念介绍,我们直接从项目实践入手,为读者朋友理解标准化测试。在开始,只要理解标准化测试是为了解决项目测试实际问题而产生的测试方案即可。 ...

5277

扫码关注云+社区

领取腾讯云代金券