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

軟件工程師完整的代碼質(zhì)量指南

譯文
開發(fā) 前端
有些人在使用軟件時會遇到出錯或體驗不佳的情況,但可能沒有意識到代碼質(zhì)量問題,但是軟件工程師查看軟件的代碼時可能知道這一點。造成這種情況可能是由于編程方式不合理,充滿錯誤,過于冗長,或在使用術語和命名約定時非常不一致。

【51CTO.com快譯】有些人在使用軟件時會遇到出錯或體驗不佳的情況,但可能沒有意識到代碼質(zhì)量問題,但是軟件工程師查看軟件的代碼時可能知道這一點。造成這種情況可能是由于編程方式不合理,充滿錯誤,過于冗長,或在使用術語和命名約定時非常不一致。幸運的是,軟件工程師可以通過多種方法來提高代碼質(zhì)量,使其更易于檢查和測試,并減少以后必須修復所有錯誤的麻煩。

代碼質(zhì)量的基礎知識

代碼質(zhì)量是指代碼的屬性和特征。代碼質(zhì)量可能會根據(jù)組織的特定業(yè)務和團隊的特定需求而有所不同。雖然沒有明確的清單,但大致上有幾種策略或措施將高質(zhì)量的代碼與劣質(zhì)的代碼區(qū)分開。

良好代碼的標志:

  • 清潔。
  • 一致。
  • 功能性或有用性—代碼應按其將要執(zhí)行的操作。
  • 易于用戶理解,而不僅是編程者自己了解。
  • 高效:簡潔的代碼。
  • 可測試:良好的代碼應進行測試,以確保沒有錯誤或缺陷。
  • 易于維護。
  • 將來易于構建、重用或復制。
  • 有良好的文件記錄:編寫得很好,并遵守公認的標準或風格指南。

值得注意的是,所有這些標志對于不同的人員或團隊來說可能意味著不同的含義。例如某人可能會認為代碼寫得清晰并且易于理解,而另一個人卻認為代碼不清楚并且很難維護。但是,使用一些參數(shù)會很有幫助。

文檔、代碼標準和樣式指南

正如行業(yè)專家Damien Conway所描述的那樣:“文檔和代碼中的注釋是編程人員向未來自己傳達信息的一種方式,說明了可能以某種方式編寫代碼的原因?;蛘邽槭裁磮F隊成員在特定時間做出了特殊決定,這也為其他團隊成員提供了做出決策的見解。”

[[394811]]

代碼標準也有助于在整個團隊中提供統(tǒng)一的代碼,這讓其使用和維護變得更加容易。行業(yè)專家William Moore將它們描述為“特定編碼語言的一系列過程,是需要一種編碼格式、方法和不同的過程。”

樣式指南在一個地方提供了組織的標準約定(例如命名約定)和其他優(yōu)秀實踐。其目的是確保所有團隊成員的代碼都是一致的,從而更易于使用和審查。如果希望真正擁有并采用它,并且可能需要對團隊成員進行一些培訓,但是應該得到他們的同意。

谷歌、微軟和WebKit等一些公司已經(jīng)在網(wǎng)上發(fā)布了樣式指南,這些指南可以幫助用戶創(chuàng)建自己的樣式指南。此外,還有許多特定于編程語言的指南,例如為RealPython編寫Alexander Van Tol,為Python程序員提供了一些很好的資源,其包括特定于Python的樣式指南和應用代碼校驗(Linter)。

代碼審查的重要性

代碼審查對于確保良好的代碼并提供查找問題的方式至關重要,以便可以盡早解決。他們還可以確保所構建軟件的一致性和可靠性。對于采用DevOps方式的組織而言,代碼評審是理所當然的,并且已經(jīng)盡早地嵌入到流程中。發(fā)現(xiàn)錯誤越早,解決錯誤的速度就越快、越容易、代價也就越低。

SmartBear Software公司在2020年6月開展了一項全球在線調(diào)查活動,對20個不同行業(yè)的740多位軟件開發(fā)人員、測試人員、IT /運營專業(yè)人員以及業(yè)務負責人進行調(diào)查。受訪者認為代碼審查是提高代碼質(zhì)量最好的一種方式。

此次調(diào)查還表明,提高代碼質(zhì)量是影響代碼審查工具需求的業(yè)務驅動因素。

此外,接受調(diào)查的80%以上的開發(fā)人員表示,對代碼審查流程的滿意度與對軟件發(fā)布總體質(zhì)量的信心直接相關。

除了對代碼進行審查之外,一些受訪者表示,進行單元、連續(xù)和功能測試是提高代碼質(zhì)量的有效步驟之一。持續(xù)集成和集成也被認為是軟件開發(fā)的優(yōu)秀實踐。

就頻率來說,大約63%的受訪者至少每周一次參與某種形式的代碼審查。關于頻率和使用哪種方法的問題,27%的受訪者表示每天進行基于工具的代碼審查,而有19%的受訪者表示每周進行一次。

全面的代碼審查可以確保代碼符合良好代碼標志​​所提到的屬性。代碼審查可確保代碼高效、無缺陷、符合標準,并且其總體目標是在問題頻發(fā)之前盡早發(fā)現(xiàn)問題。

組織可以通過多種方式進行代碼審查,其中包括人工審查、配對編程、指導以及使用共享文檔以方便審查。但是,所有這些方法都可能很耗時,并且代碼審查工具提供了一種使過程自動化的方法。

審查代碼質(zhì)量的工具

大多數(shù)開發(fā)人員已經(jīng)使用GitHub維護其Git存儲庫,并習慣于使用pull請求和forks來檢查代碼。還有許多其他工具可幫助團隊實現(xiàn)代碼審查過程的自動化:

  • Codacy
  • Code Climate
  • CodeGrip
  • CodeScene
  • Reviewboard
  • Smartbear
  • SonarQube
  • Veracode

有關其他代碼檢查工具,需要查看在Geekflare公司編譯的列表。值得注意的是,安全性是代碼質(zhì)量的關鍵部分。

代碼質(zhì)量和安全性相似,因為可以通過靜態(tài)分析來識別這兩種類型的問題。開發(fā)人員通常使用靜態(tài)分析方法來設計和測試組件。在這種情況下,代碼可能沒有運行或執(zhí)行,但是工具本身使用源代碼作為輸入數(shù)據(jù)執(zhí)行。靜態(tài)分析使開發(fā)人員還可以使用工具早期發(fā)現(xiàn)安全問題,通常是在編寫代碼時實時發(fā)現(xiàn)。這些工具在開發(fā)人員編寫時進行掃描,然后在工程師的集成開發(fā)環(huán)境(IDE)或編輯器中標記任何的安全問題。通過查看通過應用程序的數(shù)據(jù)流路徑,靜態(tài)分析工具可以識別應用程序在哪里處理數(shù)據(jù)或代碼會產(chǎn)生意想不到的結果。

靜態(tài)代碼審查軟件還可以幫助開發(fā)人員了解代碼結構和編碼標準,并實施自己的編碼標準。當開發(fā)人員將代碼直接投入生產(chǎn)時,靜態(tài)代碼分析還可以驗證代碼質(zhì)量,減少以后出現(xiàn)的錯誤。這些工具可以識別應用程序對數(shù)據(jù)錯誤的處理或代碼導致意外后果時對數(shù)據(jù)錯誤的處理。

代碼重構

另一種提高代碼質(zhì)量的方法是重構。源代碼重構將雜亂的、不正確的或重復的代碼轉化為具有較低復雜性的干凈代碼。它解決了當多個開發(fā)人員提交他們自己的代碼時可能出現(xiàn)的標準化問題。重構后的代碼更易于閱讀和維護,它也更容易擴展和添加新功能。刪除不必要的部分(如重復項)也會導致代碼使用更少的內(nèi)存,執(zhí)行速度更快。

減少技術債務

生成不良的代碼最初可能看起來很有效,但是一旦需要修復,可能會帶來麻煩。從一開始就生成高質(zhì)量代碼的優(yōu)點之一是減少了技術債務。良好的代碼起初可能需要更長的時間才能生成,但是可以減少錯誤修復和重構的時間,并且消除技術債務帶來的長期痛苦。而高質(zhì)量的代碼可以使長期開發(fā)和可維護性更加容易。

提高代碼質(zhì)量的方法之一是不斷跟蹤技術債務并確定其優(yōu)先級,以便使業(yè)務案例能夠重構代碼庫中最重要的部分。

結論

編寫高質(zhì)量的代碼不僅可以帶來更高質(zhì)量的軟件,而且可以提高團隊滿意度。當使用工具和框架以及樣式指南來消除決策中的許多猜測時,這一點尤其重要,從而使開發(fā)人員能夠專注于更關鍵的任務。然而,保持高質(zhì)量的代碼與編寫代碼一樣重要,可以防止出現(xiàn)技術債務問題。

原文標題:The Engineer’s Complete Guide to Code Quality,作者:Cate Lawrence

【51CTO譯稿,合作站點轉載請注明原文譯者和出處為51CTO.com】

責任編輯:華軒 來源: 51CTO
相關推薦

2022-09-16 08:00:00

軟件工程師求職薪酬

2022-07-29 09:12:44

軟件硬件開發(fā)

2021-07-20 09:00:00

開發(fā)軟件債務

2013-09-03 09:30:44

軟件工程師軟件工程師頭銜

2009-02-11 13:15:54

軟件工程師女工程師google

2022-01-16 07:12:30

軟件工程師吵架開發(fā)

2023-06-05 10:07:13

軟件工程平臺工程師

2017-11-09 14:12:44

大數(shù)據(jù)軟件工程師算法工程師

2015-06-02 04:08:42

軟件工程師私活

2018-01-09 17:21:18

軟件工程師創(chuàng)業(yè)代碼

2015-06-02 11:29:55

軟件工程師程序員

2010-08-10 13:22:41

2009-02-12 11:52:23

軟件工程師職業(yè)規(guī)劃價值

2009-02-12 14:45:17

軟件工程師

2014-08-20 10:24:11

軟件工程師

2010-08-10 13:29:58

軟件工程師

2022-04-18 10:13:32

軟件開發(fā)寫作

2011-05-16 10:05:33

軟件工程師Java工程師

2009-02-26 10:49:29

軟件工程師職業(yè)生涯職業(yè)規(guī)劃

2011-03-04 17:45:30

Quora工程師
點贊
收藏

51CTO技術棧公眾號