寫更好的代碼,還是寫更少的代碼?

來源:互聯網
上載者:User

先來看一個有趣的討論: 

 


引用我寧願讓我的學生盡他們最大的努力去寫更好的代碼,而不是寫更好的注釋。——Uncle Bob Martin(設計模式和敏捷開發先驅,《代碼整潔之道》作者) 

比起“更好”的代碼,我更寧願學生們寫更少的代碼。——Bob Marshall 

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

這引發了一場關於“寫更好的代碼”還是“寫更少的代碼”的討論。 


一個好的折中方案就是,用更少的代碼寫出更好的代碼。代碼的優劣或多少不是看程式碼數,也不是其他一些愚蠢的東西,而主要看的是有意義的代碼。在這場討論中,支援“更少代碼”的一方,關心的不是使代碼儘可能緊湊、避免重複,等等,而是他們認為只要合理,儘可能少些或不寫代碼。 

我們是否應該將重點放在決定什麼應該做,什麼不應該做,還是應該竭力去改進我們的軟體開發技能? 

無論如何,在沒有一個上下文環境的情況下,誰也無法合理地回答這個問題。下面我們來分開討論。 




更好的代碼 

這是站在開發人員的角度來說的。在大部分中、大型軟體開發公司中,開發人員與產品管理者或產品所有者之間幾乎沒有任何直接聯絡,這意味著,管理者對於產品的構建知識知道得很少,甚至一點都不知道。 

當然,作為一個開發人員,我可以,也應該分享我關於構建特定功能的一些看法,但是我也不太可能有足夠的資訊在很多情況下做出正確的判斷。比如,我認為不應該添加某一個該死的功能,就算我是對的,但如果客戶讓加,我的意見被採納的幾率會很小。當然,也不完全是這樣,你可以說服客戶改變想法,但這種情況很少。 

如果你曾經參與過一個大的合約項目,每個細節在前期都已經確定好了,並且由於內部政治原因,客戶方面也沒人想去更改任何東西,你知道我在說什麼。如果你沒有在類似公司工作過,你很幸運。 

在這種情況下,最好專註於構建更好的代碼,而不是更少的代碼,因為很難說什麼是有意義的更少的代碼。 

更少的代碼 

這是站在產品管理者的角度。對於他們來說,他們首要的重點應放在構建更少的代碼上。是的,我知道他們不寫代碼,但這仍然應該是他們首要的目標。 

產品經理應該知道哪些功能能夠提升產品的價值,哪些不能。他們通常更適合與客戶進行這樣的討論,比如客戶想要哪些功能、費用、不必要的功能、無用的代碼等。 

作為開發人員,你的領導希望你創造更多的價值,或更少的浪費,把重點放在構建更少的代碼上。當然,你可以自由地選擇編寫更好的代碼,或者更少的代碼,但是似乎選擇後者要更加明智。同時,你的工作效率很大程度上取決於你完成的工作,因此,你應該用更少量的程式碼完成更多的功能,並注重這些代碼的品質,而不是使用大量的代碼來解決問題。 

很顯然,這場爭論不會有一個確定的答案。站在產品經理的立場,我會建議Peter Drucker的觀點,而對於開發人員,我會建議Bob Martin的觀點。 

英文原文:Code Better or Code Less? 



相關文章

Cloud Intelligence Leading the Digital Future

Alibaba Cloud ACtivate Online Conference, Nov. 20th & 21st, 2019 (UTC+08)

Register Now >

Starter Package

SSD Cloud server and data transfer for only $2.50 a month

Get Started >

Alibaba Cloud Free Trial

Learn and experience the power of Alibaba Cloud with a free trial worth $300-1200 USD

Learn more >

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。