軟件開發(fā)是選擇效率or還是選擇質(zhì)量_第1頁
軟件開發(fā)是選擇效率or還是選擇質(zhì)量_第2頁
軟件開發(fā)是選擇效率or還是選擇質(zhì)量_第3頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領

文檔簡介

第第頁軟件開發(fā)是選擇效率or還是選擇質(zhì)量?軟件開發(fā)是選擇效率or還是選擇質(zhì)量?

發(fā)表于:2023-09-22來源:36氪:DanielFPupius點擊數(shù):標簽:

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

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

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

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

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

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

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

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

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

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

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

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

其實在互聯(lián)網(wǎng)領域中,不僅程序猿會面臨上述問題,很多產(chǎn)品經(jīng)理也會為項目進度和質(zhì)量打架的問題煩擾。所以Daniel

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論