加入收藏 | 设为首页 | 会员中心 | 我要投稿 河北网 (https://www.hebeiwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 建站 > 正文

措施员最重要的手艺:知道什么时辰不写代码

发布时间:2019-09-12 19:07:16 所属栏目:建站 来源:杨志昂编译
导读:本文指出大大都措施员都轻易犯下的错是,由于对编程的欢快,不知道什么时辰应该对编码说不。措施员必要知道什么时辰不必要编码,并从项目中删除全部不须要的代码,这将让事变变得更轻易,并使软件寿命更耐久。 对什么说不 学会说不是一个好的初步。 可是到
副问题[/!--empirenews.page--]

措施员最重要的手艺:知道什么时辰不写代码

本文指出大大都措施员都轻易犯下的错是,由于对编程的欢快,不知道什么时辰应该对编码说“不”。措施员必要知道什么时辰不必要编码,并从项目中删除全部不须要的代码,这将让事变变得更轻易,并使软件寿命更耐久。

对什么说“不”

学会说“不”是一个好的初步。

可是到底是对什么说“不”,又是什么时辰得当说“不”呢?

这简直是大大都措施员,乃至是那些高级措施员都很轻易夹杂的一个重点。

作为一名措施员,编写代码无疑是你职业中最重要的部门。在你的编程生活中,你不行停止的地将会处理赏罚各类关于差异范例代码的哀求。而每个哀求都也许会迫使你做出一些艰巨的抉择。这些看上去统统正常,好像也没什么错。事实,这是全部人对你的祈望:作为措施员就该编写代码。然而,这里有一个题目:你是否应该编写向你哀求的全部代码?

这个题目给我们引入了一个措施员所能学到最重要的手艺:

知道什么时辰不编码也许是措施员所能学到最重要的手艺。——《可读代码的艺术》

对上面这句话,我完全赞成。这是为什么呢?

编程是办理题目的一门艺术。因此,天然而然地,措施员成为了题目办理者。作为措施员,当我们眼前有一个新题目有待办理,或由于任何其他缘故起因必要我们写出代码行时,我们会由于义务感而感想欢快。

有这种欢快也是再正常不外的,事实我们是措施员,我们就是喜好写代码。

然而,对编写代码这件事过于欢快就会让我们变得盲目。这种情感会让我们忽视了一些重要的究竟,而这些究竟也许导致更大的题目,让我们在将来不得不再去办理这些更严峻的题目。

那么,我们每每轻易忽略哪些重要的究竟呢?

你写的每一行代码都是:

  • 必需被其他措施员阅读和领略的代码
  • 必需被测试和调试的代码
  • 会增进软件缺陷的代码
  • 也许会在未来引入新 bug 的代码

正如 Rich Skrenta 所写的,代码是我们的仇人:

代码可谓是险恶的。代码会腐朽。代码必要按期维护。它们老是包括有待发明的 bug。而新特征的添加老是意味着旧代码必需举办调解。

代码量越大,bug 所能藏身的处所就越多,且 checkout 或编译代码所需的时刻就越长,而新员工领略这个体系所必要的时刻就越长。这还意味着,假如你必要重构代码,必要挪移更多对象。

另外,更多的代码凡是意味着措施拥有更少的机动性和更少的成果。这一点乍一看是违背直觉的,但确实许多时辰,较之一个才能清淡的措施员所编写的冗长紊乱的代码,一个简朴优雅的办理方案能运行更快,且其成果会更通用。

代码都是由措施员编写的。以是编写更多的代码每每必要更多的措施员。而措施员之间的雷同本钱是以 n²的速率增添的,然后,这些措施员写的全部代码都添加到体系,在扩大体系成果的同时,也会增进整个软件工程的运营本钱。

我说的这些都是真的,莫非不是吗?以是,那些用他们的出产服从和编程思想来鼓励你的巨大措施员们,都是那些知道什么时辰该说“不”,什么时辰不编程的人。易于维护、一连寿命长、不绝辅佐用户实现成果的那种软件,应该不包括任何不须要的代码行。

最好的代码着实是没有代码,而最有服从的措施员知道什么时辰不该该编码。

怎么知道什么时辰不该该编码呢?

当你投身一个项目标时辰,很天然地会感想欢快,满脑筋都是全部那些想要实现的炫酷成果。可是措施员每每轻易高估了他们的项目真正必要几多特征。于是就造成体系中有很多未完成或未投入行使的特征,甚职苄些特征纯粹只是让应用措施变得过于伟大。你应该起宰衡识什么对你的项目是须要的,以停止犯下这种错误。

相识软件的用途及其焦点界说,这是知道什么时辰不该该编写代码的第一步。

请允许我举一个例子。假设,你的软件只有一个目标:打点电子邮件。基于这个目标,发送和吸取电子邮件是该软件项目标两个根基成果。你就不该该等候这个软件同时也能打点你的待服务项清单,莫非不是这样吗?

因此,你应该拒绝与此焦点界说无关的任何也许的特征哀求。在这种时辰,可以确切地必定你大白什么时辰不该该编写代码。

永久不要随意扩展软件的用途。

一旦知道了什么内容对你的项目是必不行少的,那么在下一次评估全部也许呈现的代码哀求时,你会心识到这一点。你将清楚地知道编写代码的需求是什么。这个体系应该实现哪些特征?哪些代码值得编写?于是,你可以大胆地去质疑统统,由于你确切地大白那些不须要的代码是怎样拖垮你的项目标。

知道什么时辰不该该编码可以使你的代码库更小。

措施员最重要的手艺:知道什么时辰不写代码

当你启动一个新项目时,一开始体系里只有两三个源文件。统统看起来都那么简朴明白。而编译和运行代码仅仅必要几秒钟。这时,你完全清晰在那边可以找到你想要的对象。

然后,跟着项目标增添,将会有越来越多的源文件填满你的目次。个中每个代码文件动辄就包括数百行代码。为了更好地组织这些代码,你很快就必要设立多个目次。记着哪个函数挪用其他函数变得比早年越发坚苦,而追踪 bug 必要支付更多的事变量。打点这个项目变得越来越坚苦,于是,你必要更多的措施员来资助。然后,雷同开销 跟着措施员数目的增进而急剧增进。你的项目会变得越来越慢。

最后,这个项目变得很是复杂。添加新特征变为一种疾苦。由于纵然是很小的改变也必要花上几个小时。修复当前的 bug 老是会引入新的 bug。你的项目开始赶不上最后限期……

此刻,这个项目对你来说是一场熬煎。为什么会酿成这样?

这都是由于你不大白什么时辰不该该编码。于是你对全部也许的特征哀求都绝不踌躇地说“是”。你是盲目标。编写那些不须要的新代码会让你忽略软件最必不行少的焦点内容。

这听起来就像可怕影戏一样,是吗?

但假如你一向对每件事都说“是”,这种可怕的环境就会产生。你必要知道什么时辰不必要编码,并从项目中删除全部不须要的代码。这将让你的事变变得更轻易,并使你的软件的寿命更耐久。

我出产服从最高的一天就是甩掉了 1000 行代码。——Ken Thompson

(编辑:河北网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读