欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

程序員開發(fā)項目是選擇效率還是質(zhì)量呢?

 更新時間:2014年07月07日 09:36:32   投稿:junjie  
這篇文章主要介紹了程序員開發(fā)項目是選擇效率還是質(zhì)量呢?本文對這個每個程序員都會遇到的一個問題做了講解,需要的朋友可以參考下

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

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

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

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

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

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

  相反地,高質(zhì)量的代碼其實是可以幫助你節(jié)省時間的。統(tǒng)一的代碼規(guī)范和變量命名,不僅可以幫到別的程序猿,還可以幫到未來的你,更好地理解你現(xiàn)在寫下的代碼;經(jīng)過嚴(yán)密思考而設(shè)計出的輕量級代碼架構(gòu),則可以讓你在迭代產(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)容不斷修改,至于一些無關(guān)的細(xì)節(jié)可以最后再來優(yōu)化。舉例來說,剛開始開發(fā)產(chǎn)品時,可以用RPC來簡化應(yīng)用開發(fā)的流程,繞過復(fù)雜的協(xié)議傳輸問題,先在產(chǎn)品應(yīng)用層面上快速迭代,隨后再替換掉RPC,加入重試、錯誤控制、安全檢驗等代碼,或者干脆替換掉傳輸協(xié)議。

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

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

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

相關(guān)文章

  • json轉(zhuǎn)String與String轉(zhuǎn)json及判斷對象類型示例代碼

    json轉(zhuǎn)String與String轉(zhuǎn)json及判斷對象類型示例代碼

    正如標(biāo)題所言json轉(zhuǎn)String和String轉(zhuǎn)json以及判斷對象類型,在網(wǎng)上會搜到很多的相關(guān)文章,不過大都介紹的籠統(tǒng),下面有個不錯的示例,感興趣的朋友可以參考下
    2013-10-10
  • Git里多種撤銷操作的最佳方法

    Git里多種撤銷操作的最佳方法

    這篇文章我們會給大家介紹關(guān)于Git里的多種撤銷操作,我會講解某些你需要“撤銷”已做出的修改的常見場景,以及利用 Git 進行這些操作的最佳方法。下面來一起看看吧。
    2016-09-09
  • git提交報錯pre -commit hook failed (add --no-verify)問題及解決

    git提交報錯pre -commit hook failed (add 

    這篇文章主要介紹了git提交報錯pre -commit hook failed (add --no-verify)問題及解決方案,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-11-11
  • 使用idea 去除 html 代碼前的行號和空行的方法詳解

    使用idea 去除 html 代碼前的行號和空行的方法詳解

    這篇文章主要介紹了使用idea 去除 html 代碼前的行號和空行,本文給大家介紹的非常詳細(xì),對大家的學(xué)習(xí)或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2020-07-07
  • 如何讓Visual Studio用上chatgpt

    如何讓Visual Studio用上chatgpt

    這篇文章主要介紹了如何讓Visual Studio用上chatgpt,Visual chatGPT Studio是Visual Studio的一個免費擴展,它直接在IDE中添加了chatGPT功能,它允許用戶以可以根據(jù)菜單功能的方式使用chatGPT,需要的朋友可以參考下
    2023-05-05
  • Git 教程之安裝配置詳解

    Git 教程之安裝配置詳解

    本文主要介紹Git 安裝配置,這里對Linux,Windows,Mac平臺的安裝做了詳細(xì)介紹,有需要的朋友可以參考下
    2016-09-09
  • 2019最新的Pycharm激活碼(推薦)

    2019最新的Pycharm激活碼(推薦)

    PyCharm 是一款功能強大的 Python 編輯器,具有跨平臺性。這篇文章給大家介紹2019最新的Pycharm激活碼,需要的朋友一起看看吧
    2019-10-10
  • git設(shè)置用戶名密碼的示例代碼

    git設(shè)置用戶名密碼的示例代碼

    這篇文章主要介紹了git設(shè)置用戶名密碼的示例代碼,文中通過示例代碼介紹的非常詳細(xì),對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2020-07-07
  • 手把手教你用Hexo+Github搭建屬于自己的博客(詳細(xì)圖文)

    手把手教你用Hexo+Github搭建屬于自己的博客(詳細(xì)圖文)

    越來越多的朋友選擇自己架設(shè)自己的博客,以來方便個性樣式二來也能帶來不少收入,大部分朋友都會選擇wordpress搭建個人博客,這里為大家分享使用Hexo+Github搭建開發(fā)者博客的方法,需要的朋友可以參考下
    2017-10-10
  • Web通信 分析工具 [推薦]

    Web通信 分析工具 [推薦]

    在抓蝦上看到一篇Web開發(fā)分析工具的文章(鏈接就免了),怎么遠(yuǎn)沒有我用的東西好用呢? 還是介紹介紹我用的吧。由于平常開發(fā)只用FireFox,完成后再去調(diào)試IE, 所以這些工具絕大部分是針對FireFox的。
    2009-04-04

最新評論