偷偷摘套内射激情视频,久久精品99国产国产精,中文字幕无线乱码人妻,中文在线中文a,性爽19p

開發(fā)速度和代碼質(zhì)量,你的選擇是?

開發(fā) 后端 前端
關(guān)于這個話題,幾年來一直反反復(fù)復(fù)糾結(jié)在我的腦海里,我開始漸漸發(fā)現(xiàn)這個論題本身就是一個既危險又錯誤的悖論。也許重新規(guī)劃這個論題能幫助我們達到一個共贏的局面:做出更好的產(chǎn)品、成就更優(yōu)秀更有沖刺力的團隊。

不得不承認,現(xiàn)在幾乎每個軟件開發(fā)項目都會不可避免地都會出現(xiàn)一個問題,那就是關(guān)于開發(fā)速度與代碼質(zhì)量該如何抉擇。忽略一些細枝末節(jié)、偷工減料毫無疑問能讓我們的項目進展地更快,所需時間更短。

[[119579]]

關(guān)于這個話題,幾年來一直反反復(fù)復(fù)糾結(jié)在我的腦海里,我開始漸漸發(fā)現(xiàn)這個論題本身就是一個既危險又錯誤的悖論。也許重新規(guī)劃這個論題能幫助我們達到一個共贏的局面:做出更好的產(chǎn)品、成就更優(yōu)秀更有沖刺力的團隊。

當我們談及產(chǎn)品質(zhì)量的時候,往往包含測試覆蓋率、變量命名法、代碼格式化、組件化、界面設(shè)計、bug情況、邏輯錯誤等眾多指標。甚至有的時候,擴展能力、優(yōu)化算法復(fù)雜度、服務(wù)延時、類庫推廣以及產(chǎn)品功能完整性方面也在考慮之中。

為了使討論更明確,區(qū)分不同的類別,我更喜歡將***類的產(chǎn)品質(zhì)量稱為“代碼質(zhì)量”,而稱第二類為“執(zhí)行質(zhì)量”或“深度”:執(zhí)行的深度、完成的深度。

偷工減料的代碼質(zhì)量可能短期內(nèi)會有立竿見影的成效與收益,但是這只是水中月鏡中花,在不久的將來需要我們連本帶利地償還:花大量的時間重構(gòu)、花大量的時間修復(fù)bug、花大量的時間搞清楚究竟該如何才能使程序運作起來。因此,為了開發(fā)速度而犧牲代碼質(zhì)量其實就是作繭自縛,時間一到它就會像“高利貸“一樣,利滾利地讓你付出更高的、甚至是高不可攀的代價:不得不推遲其他的工作、苦不堪言、悔不當初。

良好的代碼質(zhì)量其實能讓我們的進程跑得更快。保持一致的風格和帶點提示的命名法能幫助其他人——還有將來的你——理解代碼;干凈又周密的接口能讓我們即使卸下或者更換整個組件,也不需要重新檢查代碼庫的角角落落;良好的測試覆蓋率能讓我們在做改動時更有信心、能減少bug的數(shù)量、能使得QA時間最少化。

隨著時代的發(fā)展,現(xiàn)在的實施深度已經(jīng)演變成另外一個問題。如今有很多方法可以在不降低產(chǎn)品整體質(zhì)量的同時簡化開發(fā)。

項目實施本身并不需要是非常***的,一開始我們只要保證功能具備即可。而在之后的某個階段,我們可以再慢慢改善或者完全用新的內(nèi)容取而代之。

例如,在一個新的app里,其RPC層起初可能只是簡單地做了一個HTTP類庫。這樣我們就可以把省下來的時間用到迭代應(yīng)用層,以及那些還不夠精致需要再接再厲的內(nèi)容上。然后在未來的某個時間點——也有可能是當我們正準備發(fā)布的那一瞬間——突然覺得這些個RPC層需要更為迷人;或者是應(yīng)該添加重試邏輯、異常處理、安全功能甚至是改變傳輸協(xié)議,沒錯,即便是在這樣的情況下去完善RPC層也完全ok。

在建設(shè)項目時,我們常常會歷盡千辛萬苦、嘔心瀝血、廢寢忘食,不斷地經(jīng)歷開發(fā)、重新開發(fā)、刪除功能這個循環(huán),最終導(dǎo)致大約6萬行代碼胎死腹中,不出現(xiàn)在預(yù)覽版上。

如果我們忽視代碼質(zhì)量,后期要想維護和擴展就會困難重重,并且產(chǎn)生大量的冗余代碼。如果我們不能針對性地進行優(yōu)化,事半功倍做出來的成果最終也跳脫不了記載于Git日志里而被靜靜遺忘在角落里的命運。

事實上,現(xiàn)如今我們不但有能力給一些多余內(nèi)容減肥,迅速給產(chǎn)品瘦身,還能在大多數(shù)情況下依舊保持其成為迭代和實驗的良好基礎(chǔ)。

所以,要是下次有人再問你,“如果不關(guān)注代碼的質(zhì)量,能不能工作得更快?”的時候,理直氣壯氣地告訴他,“你問了一個愚蠢的問題!”

譯文鏈接:http://news.html5tricks.com/velocity-vs-quality.html

英文原文:Velocity vs. Quality

責任編輯:林師授 來源: html5tricks
相關(guān)推薦

2019-09-27 12:14:15

低代碼程序平衡

2021-04-25 08:00:00

開發(fā)軟件質(zhì)量保證

2020-07-20 10:27:09

現(xiàn)代交付ITCIO

2013-07-04 14:54:24

Android

2018-01-02 13:30:04

代碼質(zhì)量代碼預(yù)言

2023-02-02 11:42:34

DNS速度IP

2010-05-20 09:07:30

jQuery

2022-06-13 23:30:27

代碼詞匯高質(zhì)量

2015-08-03 10:40:59

程序員代碼質(zhì)量Quora

2018-05-17 08:34:21

機器學習預(yù)測應(yīng)用

2025-03-03 00:46:04

2015-07-23 10:25:27

android代碼質(zhì)量

2015-07-13 10:48:44

OC代碼程序員

2022-05-24 12:42:24

物聯(lián)網(wǎng)

2020-06-18 12:23:05

WiFi速度5G

2025-10-15 08:06:12

2024-05-21 08:22:10

線程主線程程序

2012-10-10 08:44:18

NativeWebHybrid

2020-04-16 09:43:08

容器架構(gòu)開發(fā)

2014-07-22 09:08:40

點贊
收藏

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