自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

開發(fā)者們:不要再問效率還是質(zhì)量的偽命題

開發(fā) 項(xiàng)目管理
程序開發(fā)項(xiàng)目進(jìn)行過程中,通常會冒出這樣的困惑:應(yīng)該選擇效率,還是選擇質(zhì)量?很多程序猿都會有偷懶的思維,覺得把一些摸不清頭緒、不知道怎么寫的代碼片段去掉,可以節(jié)省很多時(shí)間,更早完成項(xiàng)目計(jì)劃。

本文作者系程序猿Daniel F Pupius,這是一篇他發(fā)表在Medium上的博文,講述自己怎么在實(shí)際寫代碼的過程中,發(fā)現(xiàn)在效率和質(zhì)量間做出抉擇其實(shí)是個(gè)偽命題。

程序開發(fā)項(xiàng)目進(jìn)行過程中,通常會冒出這樣的困惑:應(yīng)該選擇效率,還是選擇質(zhì)量?很多程序猿都會有偷懶的思維,覺得把一些摸不清頭緒、不知道怎么寫的代碼片段去掉,可以節(jié)省很多時(shí)間,更早完成項(xiàng)目計(jì)劃。

其實(shí)過去幾年中,我也是這么想的,但最近我開始意識到,這個(gè)問題的糾結(jié)之處不在于選擇困難,而在于問題本身是個(gè)偽命題。

什么是“質(zhì)量”呢?一般程序員說到“質(zhì)量”二字時(shí),他們說的有可能是測試通過率、變量命名、代碼格式化、組件化、查找 bug、程序測試等等。也有可能是程序的可拓展性、服務(wù)延時(shí)、產(chǎn)品功能的完整程度。

問題往往就產(chǎn)生于以上兩者被統(tǒng)一看待、不做區(qū)分的時(shí)候。其實(shí)前一種圍繞代碼的問題可以看成“代碼質(zhì)量”問題,第二種情況則可以看成“執(zhí)行質(zhì)量”,或者“執(zhí)行程度”。

從“代碼質(zhì)量”上來看,程序猿走捷徑的偷懶思維,其實(shí)是種十分短視的做法。含糊繞過某個(gè)問題,你可能會一時(shí)覺得省事不少,但到頭來,往往發(fā)現(xiàn)因此攪亂了系統(tǒng)而要花費(fèi)更多的時(shí)間來一行行檢查代碼,找出 bug,甚至重新調(diào)整整體邏輯框架。所以犧牲代碼質(zhì)量換取速度通常是得不償失的做法。

相反地,高質(zhì)量的代碼其實(shí)是可以幫助你節(jié)省時(shí)間的。統(tǒng)一的代碼規(guī)范和變量命名,不僅可以幫到別的程序猿,還可以幫到未來的你,更好地理解你現(xiàn)在寫下的代碼;經(jīng)過嚴(yán)密思考而設(shè)計(jì)出的輕量級代碼架構(gòu),則可以讓你在迭代產(chǎn)品的時(shí)候獲得更高的效率,更清晰地了解該從何處入手,而不是到數(shù)據(jù)庫里漫天尋找需要替代的地方;而高測試通過率還可以給你充足的自信去調(diào)整產(chǎn)品,減少 bug 數(shù)量,最小化 QA 時(shí)間。

至于“執(zhí)行質(zhì)量”,這又是另一個(gè)命題。有很多方式可以在不降低產(chǎn)品質(zhì)量的情況下,使得產(chǎn)品開發(fā)過程很緊湊。比如你可以先推遲一些不那么著急的工作,等到整體執(zhí)行優(yōu)化、系統(tǒng)穩(wěn)健性做好的時(shí)候,再來做那些被暫時(shí)擱置的事情。

具體的做法就是,先把最終想要的產(chǎn)品效果定好,然后往其中填充內(nèi)容不斷修改,至于一些無關(guān)的細(xì)節(jié)可以最后再來優(yōu)化。舉例來說,剛開始開發(fā)產(chǎn)品時(shí),可以用 RPC 來簡化應(yīng)用開發(fā)的流程,繞過復(fù)雜的協(xié)議傳輸問題,先在產(chǎn)品應(yīng)用層面上快速迭代,隨后再替換掉 RPC,加入重試、錯誤控制、安全檢驗(yàn)等代碼,或者干脆替換掉傳輸協(xié)議。

寫 Medium 代碼的時(shí)候,我們就是先實(shí)現(xiàn)效果,再調(diào)整細(xì)化部分的,最后刪掉了很多無法整合進(jìn)原先設(shè)定好的框架中的功能,大約是六萬行代碼左右。

所以如果我們起初沒有小心處理代碼質(zhì)量的問題,最終一定會被查找各種很細(xì)微的問題困擾。如果我們沒有完全聚焦在效果實(shí)現(xiàn)上,就一定會拖拖拉拉延后項(xiàng)目進(jìn)度。但如你所見,很幸運(yùn)我們前期工作做得充分,所以現(xiàn)在產(chǎn)品可以迭代得很快,并不斷試驗(yàn)新功能。

其實(shí)在互聯(lián)網(wǎng)領(lǐng)域中,不僅程序猿會面臨上述問題,很多產(chǎn)品經(jīng)理也會為項(xiàng)目進(jìn)度和質(zhì)量打架的問題煩擾。所以 Daniel 的博文提供了一個(gè)很好的思考角度,或許下一次再有人問你是不是可以犧牲一點(diǎn)代碼質(zhì)量來追趕進(jìn)度的時(shí)候,你就可以告訴他們:你問的是個(gè)偽命題。

譯文連接:http://www.36kr.com/p/203040.html

責(zé)任編輯:林師授 來源: 36氪
相關(guān)推薦

2019-12-27 13:41:27

云計(jì)算CIOERP

2018-03-28 14:17:37

區(qū)塊鏈手機(jī)系統(tǒng)

2015-09-22 10:44:28

2015-08-25 09:02:23

2018-11-29 12:37:39

無人便利店互聯(lián)網(wǎng)零售

2013-01-09 16:00:38

移動應(yīng)用免費(fèi)付費(fèi)

2013-07-04 14:54:24

Android

2020-07-09 14:44:07

AI芯片檢驗(yàn)期

2013-08-14 16:52:47

Android開發(fā)者

2018-01-08 10:39:17

前端技術(shù)框架

2021-06-25 10:42:38

網(wǎng)絡(luò)安全安全從業(yè)者開發(fā)者

2013-12-25 11:46:04

互聯(lián)網(wǎng)思維注意力經(jīng)濟(jì)

2015-11-11 09:38:18

開發(fā)者自救程序員

2011-12-27 09:31:13

程序員

2015-12-07 15:29:06

智能家居

2013-03-15 13:33:06

2025-03-03 09:20:00

VueUseVue.js前端

2012-08-30 09:44:27

2012-03-07 09:41:01

Java

2020-10-22 15:05:43

開發(fā)者技能工具
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號