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

2017-02-26    分類: 網(wǎng)站建設(shè)

我寧愿讓我的學(xué)生盡他們大的努力去寫更好的代碼,而不是寫更好的注釋。——Uncle Bob Martin

比起“更好”的代碼,我更寧愿學(xué)生們寫更少的代碼。——Bob Marshall

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

這引發(fā)了一場關(guān)于“寫更好的代碼”還是“寫更少的代碼”的討論。

一個好的折中方案就是,用更少的代碼寫出更好的代碼。代碼的優(yōu)劣或多少不是看代碼行數(shù),也不是其他一些愚蠢的東西,而主要看的是有意義的代碼。在這場討論中,支持“更少代碼”的一方,關(guān)心的不是使代碼盡可能緊湊、避免重復(fù),等等,而是他們認(rèn)為只要合理,盡可能少些或不寫代碼。

我們是否應(yīng)該將重點放在決定什么應(yīng)該做,什么不應(yīng)該做,還是應(yīng)該竭力去改進(jìn)我們的軟件開發(fā)技能?

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

更好的代碼

這是站在開發(fā)者的角度來說的。在大部分中、大型軟件開發(fā)公司中,開發(fā)者與產(chǎn)品管理者或產(chǎn)品所有者之間幾乎沒有任何直接聯(lián)系,這意味著,管理者對于產(chǎn)品的構(gòu)建知識知道得很少,甚至一點都不知道。

當(dāng)然,作為一個開發(fā)人員,我可以,也應(yīng)該分享我關(guān)于構(gòu)建特定功能的一些看法,但是我也不太可能有足夠的信息在很多情況下做出正確的判斷。比如,我認(rèn)為不應(yīng)該添加某一個該死的功能,就算我是對的,但如果客戶讓加,我的意見被采納的幾率會很小。當(dāng)然,也不完全是這樣,你可以說服客戶改變想法,但這種情況很少。

如果你曾經(jīng)參與過一個大的合同項目,每個細(xì)節(jié)在前期都已經(jīng)確定好了,并且由于內(nèi)部政治原因,客戶方面也沒人想去更改任何東西,你知道我在說什么。如果你沒有在類似公司工作過,你很幸運。

在這種情況下,最好專注于構(gòu)建更好的代碼,而不是更少的代碼,因為很難說什么是有意義的更少的代碼。

更少的代碼

這是站在產(chǎn)品管理者的角度。對于他們來說,他們首要的重點應(yīng)放在構(gòu)建更少的代碼上。是的,我知道他們不寫代碼,但這仍然應(yīng)該是他們首要的目標(biāo)。

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

作為開發(fā)者,你的領(lǐng)導(dǎo)希望你創(chuàng)造更多的價值,或更少的浪費,把重點放在構(gòu)建更少的代碼上。當(dāng)然,你可以自由地選擇編寫更好的代碼,或者更少的代碼,但是似乎選擇后者要更加明智。同時,你的工作效率很大程度上取決于你完成的工作,因此,你應(yīng)該用更少量的代碼完成更多的功能,并注重這些代碼的質(zhì)量,而不是使用大量的代碼來解決問題。

很顯然,這場爭論不會有一個確定的答案。站在產(chǎn)品經(jīng)理的立場,我會建議Peter Drucker的觀點,而對于開發(fā)者,我會建議Bob Martin的觀點。

當(dāng)前標(biāo)題:寫更好的代碼,還是寫更少的代碼?
標(biāo)題URL:http://www.muchs.cn/news/74377.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供域名注冊、電子商務(wù)、外貿(mào)建站、小程序開發(fā)、網(wǎng)站策劃品牌網(wǎng)站設(shè)計

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

成都app開發(fā)公司