欧美一区二区三区老妇人-欧美做爰猛烈大尺度电-99久久夜色精品国产亚洲a-亚洲福利视频一区二区

提升代碼內(nèi)外部質(zhì)量的22條經(jīng)驗-創(chuàng)新互聯(lián)

本文主要關(guān)注代碼的內(nèi)部和外部質(zhì)量,編程的價值觀,代碼質(zhì)量的評估標準,整潔代碼的匠藝以及如何維護已有的代碼。

潞城網(wǎng)站制作公司哪家好,找創(chuàng)新互聯(lián)!從網(wǎng)頁設(shè)計、網(wǎng)站建設(shè)、微信開發(fā)、APP開發(fā)、自適應(yīng)網(wǎng)站建設(shè)等網(wǎng)站項目制作,到程序開發(fā),運營維護。創(chuàng)新互聯(lián)于2013年成立到現(xiàn)在10年的時間,我們擁有了豐富的建站經(jīng)驗和運維經(jīng)驗,來保證我們的工作的順利進行。專注于網(wǎng)站建設(shè)就選創(chuàng)新互聯(lián)

外部質(zhì)量:用戶所能感受到的部分,正確性,易用性,效率,可靠性。

內(nèi)部質(zhì)量(代碼質(zhì)量):可維護性,靈活性,可移植性,重用,可讀性,可測試性,可理解性。

總結(jié)的22條經(jīng)驗如下:

  1. 代碼分為外部質(zhì)量和內(nèi)部質(zhì)量,好的產(chǎn)品不等于好的代碼(Good Software != Quality Code)。

  2. 產(chǎn)品的冰山效應(yīng):產(chǎn)品經(jīng)理以及用戶關(guān)注的部分只是冰山露在水面以上的部分,隱藏在下面的是看不見的更加龐大的部分,那就是我們龐大的代碼。
    提升代碼內(nèi)外部質(zhì)量的22條經(jīng)驗

  3. 拒絕 PPT 架構(gòu)師,架構(gòu)師應(yīng)當寫代碼,哪怕這些代碼并不 Check-in 到最終的代碼庫中。一個好的設(shè)計不是在憑空產(chǎn)生的,而是經(jīng)過不斷打磨、修改進而獲得的。不存在一次設(shè)計,程序猿無腦堆砌代碼能夠完成的好的程序。
    提升代碼內(nèi)外部質(zhì)量的22條經(jīng)驗提升代碼內(nèi)外部質(zhì)量的22條經(jīng)驗

  4. 編程的價值觀:溝通、簡單、靈活。

  5. 代碼最重要的功能是傳遞程序員的設(shè)計和思路,其次才是實現(xiàn)的功能。好的程序員應(yīng)當寫出人類能夠看懂的代碼,而不是機器能理解的代碼。

  6. 效率不是犧牲清晰性的理由,不能夠因為人主觀“認為”的一些小伎倆,使用晦澀的代碼,企圖以此提升性能。應(yīng)當依賴編譯器本身的優(yōu)化,依賴工具對性能低下的點進行評測,進而進行針對性的優(yōu)化。

  7. 不要試圖死磕代碼加快速度,找個更加有效的算法可能更加有效。

  8. 代碼要先做對,在弄快。先使其可靠,再讓其更快。先把代碼弄干凈,再讓它變快。

  9. Good code is not bad code。壞的代碼是可以通過一些指標進行度量的。讓壞代碼的指標可以被機器固化并時時檢查,確保代碼不會變得更糟。

  10. 函數(shù)本身不是用來復(fù)用,這和很多“主流的”觀點不同。函數(shù)的存在的主要意義在于:劃分獨立職責,隱藏具體細節(jié)操作,使得代碼具有可讀性,應(yīng)對擴展的變化,方便進行單元測試。順帶的,偶爾可以用作復(fù)用。

  11. 函數(shù)應(yīng)當遵循:單一抽象層次原則、短小原則和單一職責原則。

  12. 當發(fā)現(xiàn)一個函數(shù)具有以下特征時,需要考慮抽取函數(shù):

    • 過長

    • 嵌套層數(shù)過深。

    • 自然分塊,需要使用注釋描述該程序塊

    • 判斷條件過于復(fù)雜

    • 函數(shù)的某些判斷分支不斷變化

    • 參數(shù)過于復(fù)雜

    • 邏輯重復(fù)

  13. 局部變量應(yīng)當用途單一

  14. 新寫代碼邏輯,應(yīng)當關(guān)注用戶場景和類職責劃分,不應(yīng)當上來就考慮我要使用一個什么模式。這樣勢必會導(dǎo)致過度設(shè)計。模式用作應(yīng)對變化,當后續(xù)版本發(fā)生變化時,模式用作重構(gòu)現(xiàn)有代碼。

  15. 不斷重構(gòu),保持代碼簡潔。

  16. 代碼是債務(wù),一個程序員欠下的債務(wù),總是要還的,雖然可能不是由本人還。維護老代碼的程序員又被稱作代碼考古工程師,經(jīng)常在一大堆糟亂的代碼中挖掘最初的用戶需求,往往這些需求淹沒在無數(shù)的變更歷史中。維護老代碼是一個費時費力的過程。需要一些技巧減小修改老代碼的風險。

  17. 程序員應(yīng)當將整潔的代碼風格作為一種習慣,時刻意識到整潔代碼的重要性并不斷地提高重構(gòu)技巧。

  18. 意圖導(dǎo)向編程可以輔助思考,并生成易懂代碼。

  19. 設(shè)計模式本身是用做應(yīng)對變化的。如果在開發(fā)時就想著“我要用模式”,很可能會導(dǎo)致過度設(shè)計。在對代碼進行重構(gòu)時,才應(yīng)當考慮使用設(shè)計模式解決問題。

  20. 函數(shù)名稱很重要。

  21. 關(guān)于注釋:

    • 如果能用短小函數(shù)描述,則使用子函數(shù)替代注釋本身。

    • 確保注釋和代碼表達的意圖一致,否則就失去了注釋的意義。

    • 在重要的地方寫注釋,不要注釋滿天飛,簡單的重復(fù)代碼的功能是毫無意義的。要讓每一處注釋都有價值。不要過分注釋。

  22. 關(guān)于何時重寫代碼

    • 開發(fā)團隊要預(yù)留20% 的時間用作保持對原有系統(tǒng)的重構(gòu)。剩余的時間用作開發(fā)新功能。

    • 只要有可能,對所要重構(gòu)的部分進行遞增修改,讓用戶切身感受到產(chǎn)品的改進,哪怕將工作時間延長。

以上經(jīng)驗分享,結(jié)合到具體工作,可能有場景需要考慮:

  • 近幾年不少研發(fā)團隊逐步往快速迭代方向轉(zhuǎn)移,其中應(yīng)當更多地關(guān)注目前代碼的內(nèi)部質(zhì)量,是否有足夠的單元測試保證代碼的穩(wěn)定性,是否不斷地在進行重構(gòu)保證代碼的簡潔。在快速應(yīng)對變化的同時,代碼不能絲毫打折扣。我們要經(jīng)常反思,我們估計的時間,是否已經(jīng)考慮給開發(fā)團隊預(yù)留了足夠的重構(gòu)時間?產(chǎn)品經(jīng)理是否足夠的了解代碼目前的質(zhì)量狀態(tài)?我們是否在欠債?

  • 對于維護現(xiàn)有代碼,我們經(jīng)常是直接野蠻的在原有代碼中繼續(xù)累加邏輯,很少考慮重構(gòu),導(dǎo)致原有邏輯越來越復(fù)雜,難以理解。這一點應(yīng)當受到更多關(guān)注。

最后引用一句話,與大家共勉:
知識不在于記住多少,而是在于它出發(fā)了你多少的思考。一旦我們開始反思我們的代碼,代碼將不再一樣。

另外有需要云服務(wù)器可以了解下創(chuàng)新互聯(lián)scvps.cn,海內(nèi)外云服務(wù)器15元起步,三天無理由+7*72小時售后在線,公司持有idc許可證,提供“云服務(wù)器、裸金屬服務(wù)器、高防服務(wù)器、香港服務(wù)器、美國服務(wù)器、虛擬主機、免備案服務(wù)器”等云主機租用服務(wù)以及企業(yè)上云的綜合解決方案,具有“安全穩(wěn)定、簡單易用、服務(wù)可用性高、性價比高”等特點與優(yōu)勢,專為企業(yè)上云打造定制,能夠滿足用戶豐富、多元化的應(yīng)用場景需求。

分享文章:提升代碼內(nèi)外部質(zhì)量的22條經(jīng)驗-創(chuàng)新互聯(lián)
文章鏈接:http://www.chinadenli.net/article24/deecje.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供服務(wù)器托管微信小程序網(wǎng)站設(shè)計公司用戶體驗ChatGPT網(wǎng)站制作

廣告

聲明:本網(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)

h5響應(yīng)式網(wǎng)站建設(shè)