先来看一个有趣的讨论:
引用
我宁愿让我的学生尽他们最大的努力去写更好的代码,而不是写更好的注释。——Uncle Bob Martin(设计模式和敏捷开发先驱,《代码整洁之道》作者)
比起“更好”的代码,我更宁愿学生们写更少的代码。——Bob Marshall
没有任何事情比“非常有效率地做了一件本不应该做的事”更没用的了。——Peter Drucker
这引发了一场关于“写更好的代码”还是“写更少的代码”的讨论。
一个好的折中方案就是,用更少的代码写出更好的代码。代码的优劣或多少不是看代码行数,也不是其他一些愚蠢的东西,而主要看的是有意义的代码。在这场讨论中,支持“更少代码”的一方,关心的不是使代码尽可能紧凑、避免重复,等等,而是他们认为只要合理,尽可能少些或不写代码。
我们是否应该将重点放在决定什么应该做,什么不应该做,还是应该竭力去改进我们的软件开发技能?
无论如何,在没有一个上下文环境的情况下,谁也无法合理地回答这个问题。下面我们来分开讨论。
更好的代码
这是站在开发者的角度来说的。在大部分中、大型软件开发公司中,开发者与产品管理者或产品所有者之间几乎没有任何直接联系,这意味着,管理者对于产品的构建知识知道得很少,甚至一点都不知道。
当然,作为一个开发人员,我可以,也应该分享我关于构建特定功能的一些看法,但是我也不太可能有足够的信息在很多情况下做出正确的判断。比如,我认为不应该添加某一个该死的功能,就算我是对的,但如果客户让加,我的意见被采纳的几率会很小。当然,也不完全是这样,你可以说服客户改变想法,但这种情况很少。
如果你曾经参与过一个大的合同项目,每个细节在前期都已经确定好了,并且由于内部政治原因,客户方面也没人想去更改任何东西,你知道我在说什么。如果你没有在类似公司工作过,你很幸运。
在这种情况下,最好专注于构建更好的代码,而不是更少的代码,因为很难说什么是有意义的更少的代码。
更少的代码
这是站在产品管理者的角度。对于他们来说,他们首要的重点应放在构建更少的代码上。是的,我知道他们不写代码,但这仍然应该是他们首要的目标。
产品经理应该知道哪些功能能够提升产品的价值,哪些不能。他们通常更适合与客户进行这样的讨论,比如客户想要哪些功能、费用、不必要的功能、无用的代码等。
作为开发者,你的领导希望你创造更多的价值,或更少的浪费,把重点放在构建更少的代码上。当然,你可以自由地选择编写更好的代码,或者更少的代码,但是似乎选择后者要更加明智。同时,你的工作效率很大程度上取决于你完成的工作,因此,你应该用更少量的代码完成更多的功能,并注重这些代码的质量,而不是使用大量的代码来解决问题。
很显然,这场争论不会有一个确定的答案。站在产品经理的立场,我会建议Peter Drucker的观点,而对于开发者,我会建议Bob Martin的观点。
英文原文:Code Better or Code Less?

熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

mPDF
mPDF是一個PHP庫,可以從UTF-8編碼的HTML產生PDF檔案。原作者Ian Back編寫mPDF以從他的網站上「即時」輸出PDF文件,並處理不同的語言。與原始腳本如HTML2FPDF相比,它的速度較慢,並且在使用Unicode字體時產生的檔案較大,但支援CSS樣式等,並進行了大量增強。支援幾乎所有語言,包括RTL(阿拉伯語和希伯來語)和CJK(中日韓)。支援嵌套的區塊級元素(如P、DIV),

SAP NetWeaver Server Adapter for Eclipse
將Eclipse與SAP NetWeaver應用伺服器整合。

WebStorm Mac版
好用的JavaScript開發工具

MinGW - Minimalist GNU for Windows
這個專案正在遷移到osdn.net/projects/mingw的過程中,你可以繼續在那裡關注我們。 MinGW:GNU編譯器集合(GCC)的本機Windows移植版本,可自由分發的導入函式庫和用於建置本機Windows應用程式的頭檔;包括對MSVC執行時間的擴展,以支援C99功能。 MinGW的所有軟體都可以在64位元Windows平台上運作。

VSCode Windows 64位元 下載
微軟推出的免費、功能強大的一款IDE編輯器