欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  php教程

写更好的代码,还是写更少的代码?

程序员文章站 2024-01-12 14:10:40
...
先来看一个有趣的讨论:


引用

我宁愿让我的学生尽他们最大的努力去写更好的代码,而不是写更好的注释。——Uncle Bob Martin(设计模式和敏捷开发先驱,《代码整洁之道》作者)

比起“更好”的代码,我更宁愿学生们写更少的代码。——Bob Marshall

没有任何事情比“非常有效率地做了一件本不应该做的事”更没用的了。——Peter Drucker



这引发了一场关于“写更好的代码”还是“写更少的代码”的讨论。


一个好的折中方案就是,用更少的代码写出更好的代码。代码的优劣或多少不是看代码行数,也不是其他一些愚蠢的东西,而主要看的是有意义的代码。在这场讨论中,支持“更少代码”的一方,关心的不是使代码尽可能紧凑、避免重复,等等,而是他们认为只要合理,尽可能少些或不写代码。

我们是否应该将重点放在决定什么应该做,什么不应该做,还是应该竭力去改进我们的软件开发技能?

无论如何,在没有一个上下文环境的情况下,谁也无法合理地回答这个问题。下面我们来分开讨论。




更好的代码

这是站在开发者的角度来说的。在大部分中、大型软件开发公司中,开发者与产品管理者或产品所有者之间几乎没有任何直接联系,这意味着,管理者对于产品的构建知识知道得很少,甚至一点都不知道。

当然,作为一个开发人员,我可以,也应该分享我关于构建特定功能的一些看法,但是我也不太可能有足够的信息在很多情况下做出正确的判断。比如,我认为不应该添加某一个该死的功能,就算我是对的,但如果客户让加,我的意见被采纳的几率会很小。当然,也不完全是这样,你可以说服客户改变想法,但这种情况很少。

如果你曾经参与过一个大的合同项目,每个细节在前期都已经确定好了,并且由于内部政治原因,客户方面也没人想去更改任何东西,你知道我在说什么。如果你没有在类似公司工作过,你很幸运。

在这种情况下,最好专注于构建更好的代码,而不是更少的代码,因为很难说什么是有意义的更少的代码。

更少的代码

这是站在产品管理者的角度。对于他们来说,他们首要的重点应放在构建更少的代码上。是的,我知道他们不写代码,但这仍然应该是他们首要的目标。

产品经理应该知道哪些功能能够提升产品的价值,哪些不能。他们通常更适合与客户进行这样的讨论,比如客户想要哪些功能、费用、不必要的功能、无用的代码等。

作为开发者,你的领导希望你创造更多的价值,或更少的浪费,把重点放在构建更少的代码上。当然,你可以*地选择编写更好的代码,或者更少的代码,但是似乎选择后者要更加明智。同时,你的工作效率很大程度上取决于你完成的工作,因此,你应该用更少量的代码完成更多的功能,并注重这些代码的质量,而不是使用大量的代码来解决问题。

很显然,这场争论不会有一个确定的答案。站在产品经理的立场,我会建议Peter Drucker的观点,而对于开发者,我会建议Bob Martin的观点。

英文原文:Code Better or Code Less?