0
  • 聊天消息
  • 系統(tǒng)消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發(fā)帖/加入社區(qū)
會員中心
創(chuàng)作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

【筆記】自己用的16種代碼規(guī)范

撞上電子 ? 2023-06-08 10:46 ? 次閱讀

1. 命名規(guī)范:

-變量和函數(shù)名應使用有意義的名詞或動詞短語,描述其用途或功能。

inttemperature;//溫度變量voidcalculateAverage();//計算平均值的函數(shù)

-使用駝峰命名法或下劃線命名法來命名變量、函數(shù)和常量。

int sensorValue; // 駝峰命名法constintMAX_VALUE=100;//下劃線命名法

-使用大寫字母命名宏定義和枚舉常量,并使用下劃線分隔單詞。

#defineBUFFER_SIZE256enumColor{RED,GREEN,BLUE};


2. 縮進和格式化:

-使用一致的縮進風格,通常是四個空格或一個制表符。-使用大括號和適當?shù)目s進來組織代碼塊。

if(condition){ // 代碼塊}else{ // 代碼塊}

-適當?shù)厥褂每崭駚硖岣呖勺x性,例如在運算符、逗號和分號之間加入空格。

int sum = a + b;int i, j;for (i = 0; i < n; i++){??//?代碼塊}

-使用空行來分隔邏輯上相關的代碼塊,提高代碼的可讀性。

//代碼塊1
// 代碼塊2//代碼塊3


3. 注釋:

-在代碼上方或關鍵部分添加注釋,解釋代碼的目的、功能和實現(xiàn)方法。-使用清晰明確的注釋,避免使用模糊或不必要的注釋。

// 計算兩個數(shù)的和int sum(int a, int b){ return a + b;}

4. 函數(shù)和模塊化:

-將代碼劃分為小而獨立的函數(shù),每個函數(shù)負責完成一個特定的任務。-函數(shù)應具有單一責任,只做一件事情,并遵循函數(shù)的輸入輸出原則。

//讀取傳感器值int readSensor(){ // 讀取傳感器代碼 //... return sensorValue;}


5. 錯誤處理:

-對可能出現(xiàn)錯誤的代碼塊進行錯誤檢查,并采取適當?shù)腻e誤處理措施。-使用返回值、錯誤碼或異常處理來指示和處理錯誤情況。

int result = performOperation();if (result != SUCCESS){ // 錯誤處理代碼 // ...}

6. 常量和魔法數(shù)值:

-避免在代碼中直接使用魔法數(shù)值(未經解釋的硬編碼值),應將其定義為常量并使用常量名。

-常量的命名應具有描述性和可讀性,以便理解其含義。

const int MAX_SIZE = 100;constfloatPI=3.14159;

7. 函數(shù)參數(shù):

-如果函數(shù)參數(shù)較多,應考慮使用結構體或對象來傳遞參數(shù),以減少函數(shù)參數(shù)列表的長度。-函數(shù)參數(shù)的順序應該有邏輯性和一致性,便于閱讀和使用。

voidprocessData(intid,floatvalue,constchar*name)


8. 錯誤處理和異常:

-在可能引發(fā)錯誤的代碼塊中使用適當?shù)腻e誤處理機制,例如返回錯誤碼、拋出異?;驁?zhí)行回滾操作。-錯誤處理應該清晰明確,向調用者提供足夠的信息以便調試和修復錯誤。

int result = performOperation();if (result != SUCCESS){ logError("操作執(zhí)行失敗: %d", result); return result;}


9. 可讀性和注釋:

-代碼應具有良好的可讀性,使用有意義的變量名和函數(shù)名,并避免使用過于復雜的表達式和嵌套結構。-注釋應該清晰、簡潔明了,并提供足夠的上下文信息,幫助他人理解代碼的意圖和邏輯。

// 計算數(shù)組的平均值float calculateAverage(float* data, int size){ float sum = 0; for (int i = 0; i < size; i++) { sum += data[i]; } return sum / size;}


10. 單元測試和代碼審查:

-編寫適當?shù)膯卧獪y試用例來驗證代碼的功能和正確性,確保代碼的健壯性。-進行代碼審查,讓其他開發(fā)人員檢查代碼的質量和遵循規(guī)范的程度,以提供反饋和改進建議。
11. 模塊化和函數(shù)長度:

-將代碼分解為邏輯上獨立的模塊或函數(shù),每個函數(shù)應該只負責一個具體的任務或功能。

-函數(shù)應保持簡潔和緊湊,避免過長的函數(shù)體和過多的嵌套層級。長函數(shù)可以考慮進行重構和拆分。

12. 錯誤處理和異常:

-在可能引發(fā)錯誤的地方進行適當?shù)腻e誤處理和異常處理。捕獲并處理錯誤,以避免程序崩潰或無法預料的行為。-在發(fā)生錯誤時,提供有意義的錯誤消息和日志,以便于調試和故障排除。

13. 持續(xù)集成和自動化測試:

-使用持續(xù)集成工具和自動化測試框架來驗證代碼的正確性和穩(wěn)定性。-設置自動化測試套件,包括單元測試、集成測試和端到端測試,以捕獲潛在的問題和保證代碼質量。

14. 版本控制和代碼管理:

-使用版本控制系統(tǒng)(如Git)來管理代碼的版本和變更歷史。-遵循合適的分支策略,確保不同功能和修復的代碼可以獨立開發(fā)和集成。-使用合適的注釋和提交信息,清楚記錄每個版本的變更內容和目的。

15. 性能優(yōu)化和資源管理:

-針對性能敏感的代碼段進行優(yōu)化,包括算法改進、數(shù)據(jù)結構優(yōu)化等。

-考慮資源的有效管理,包括內存分配和釋放、文件句柄的管理等。

16. 編碼標準和風格指南:

-遵循特定的編碼標準和風格指南,如Google C++ Style Guide、GNU Coding Standards等。

-在團隊中達成一致,并確保所有開發(fā)人員都遵循相同的規(guī)范。

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發(fā)燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規(guī)問題,請聯(lián)系本站處理。 舉報投訴
  • 代碼
    +關注

    關注

    30

    文章

    4723

    瀏覽量

    68237
  • 變量
    +關注

    關注

    0

    文章

    613

    瀏覽量

    28306
收藏 人收藏

    評論

    相關推薦

    IEEE 1394物理層晶體的選擇和規(guī)范

    電子發(fā)燒友網站提供《IEEE 1394物理層晶體的選擇和規(guī)范.pdf》資料免費下載
    發(fā)表于 09-30 11:03 ?0次下載
    IEEE 1394物理層<b class='flag-5'>用</b>晶體的選擇和<b class='flag-5'>規(guī)范</b>

    16對語音配線架怎么

    16對語音配線架的使用主要涉及準備、安裝、端接、測試等步驟。以下是一個詳細的使用指南: 一、準備工作 材料準備: 16對語音配線架 16對大對數(shù)電纜 標簽紙 剝線器 打線鉗 壁紙刀 剪刀 尼龍扎帶
    的頭像 發(fā)表于 08-21 09:39 ?206次閱讀

    6芯M16母頭如何通過代碼來識別其用途

      德索工程師說道需要明確的是,6芯M16母頭作為一物理連接器,其用途并非通過代碼來直接識別。代碼是用于軟件編程和數(shù)據(jù)處理的一工具,而6
    的頭像 發(fā)表于 06-04 18:06 ?240次閱讀
    6芯M<b class='flag-5'>16</b>母頭如何通過<b class='flag-5'>代碼</b>來識別其用途

    System 76推出14/16英寸雙核16線程筆記本,售價1199美元起

    System 76于近期發(fā)布了Dart Pro 2024版筆記本,尺寸為14或16英寸,配備英特爾酷睿Ultra 5-125H和Ultra 7-155H處理器,售價從1199美元起(IT之家注:當前約8669元人民幣)。
    的頭像 發(fā)表于 05-11 10:17 ?479次閱讀

    Simulink自動生成代碼現(xiàn)階段的學習筆記

    在車載控制器的軟件開發(fā)中,simulink的身影幾乎隨處可見,主要是在控制算法和控制邏輯的實現(xiàn)。平時看同事點點點就生成代碼了,看起來很簡單,但是實際操作起來確各種磕磕絆絆。 下面記錄了一下步驟作為現(xiàn)階段的學習筆記吧。
    的頭像 發(fā)表于 04-17 10:56 ?3505次閱讀
    Simulink自動生成<b class='flag-5'>代碼</b>現(xiàn)階段的學習<b class='flag-5'>筆記</b>

    STSPIN32F01B MCSDK返回錯誤代碼16或者32的原因?

    大家好,我最近STSPIN32F01B在一塊另外開發(fā)的主板上做電機驅動開發(fā),因為STSPIN32F01B上面只有一個OPA, 為了使用FOC的3電阻方案,電路板增加了3個外部的運放。我MCWB5.Y.4生成代碼后,編譯燒錄后
    發(fā)表于 03-25 07:49

    代碼檢查的方式有三

    【摘要】?代碼檢查中,提到的編程規(guī)范,規(guī)則集,規(guī)則,規(guī)則用例(場景、誤報、檢出)分別代表什么意思呢? 在 SAST 靜態(tài)檢查領域,代碼檢查服務可以幫助開發(fā)者發(fā)現(xiàn)和修復代碼中的風格、質量
    的頭像 發(fā)表于 02-25 10:08 ?798次閱讀
    <b class='flag-5'>代碼</b>檢查的方式有三<b class='flag-5'>種</b>

    集成電路帶卷包裝規(guī)范

    電子發(fā)燒友網站提供《集成電路帶卷包裝規(guī)范.pdf》資料免費下載
    發(fā)表于 01-31 10:23 ?0次下載
    集成電路<b class='flag-5'>用</b>帶卷包裝<b class='flag-5'>規(guī)范</b>

    集成電路帶卷規(guī)范

    電子發(fā)燒友網站提供《集成電路帶卷規(guī)范.pdf》資料免費下載
    發(fā)表于 12-21 10:32 ?0次下載
    集成電路<b class='flag-5'>用</b>帶卷<b class='flag-5'>規(guī)范</b>

    git commit代碼提交規(guī)范

    接下來我就來實踐一下,首先我這里使用的是pnpm安裝依賴的。今天主要是在提交代碼時稍微自動化一點,并且讓提交規(guī)范統(tǒng)一一些。
    的頭像 發(fā)表于 12-19 09:45 ?602次閱讀
    git commit<b class='flag-5'>代碼</b>提交<b class='flag-5'>規(guī)范</b>

    基于三相絕緣柵極雙極性晶體管 (IGBT)的逆變器應用筆記

    電子發(fā)燒友網站提供《基于三相絕緣柵極雙極性晶體管 (IGBT)的逆變器應用筆記.pdf》資料免費下載
    發(fā)表于 11-29 11:05 ?5次下載
    <b class='flag-5'>用</b>基于三相絕緣柵極雙極性晶體管 (IGBT)的逆變器應用<b class='flag-5'>筆記</b>

    高性能、10位至16位旋變數(shù)字轉換器電路筆記

    電子發(fā)燒友網站提供《高性能、10位至16位旋變數(shù)字轉換器電路筆記.pdf》資料免費下載
    發(fā)表于 11-29 09:21 ?1次下載
    高性能、10位至<b class='flag-5'>16</b>位旋變數(shù)字轉換器電路<b class='flag-5'>筆記</b>

    開關穩(wěn)壓器設計您自己的DC-DC轉換器

    開關穩(wěn)壓器設計您自己的DC-DC轉換器
    的頭像 發(fā)表于 11-24 15:46 ?641次閱讀
    <b class='flag-5'>用</b>開關穩(wěn)壓器設計您<b class='flag-5'>自己</b>的DC-DC轉換器

    淺談Verilog HDL代碼編寫風格

    消失了好久,沒有寫文章,也沒有做筆記,因為最近再趕一個比賽,時間很緊,昨天周六終于結束了,所以趁著周末這會兒有時間,寫點東西,記錄下來。首先我學習FPGA才一年多,我知道自己沒有資格談論一些比較
    的頭像 發(fā)表于 11-20 10:04 ?700次閱讀
    淺談Verilog HDL<b class='flag-5'>代碼</b>編寫風格

    自己編寫函數(shù)示例代碼很難嗎?分享幾個示例!

    Q A 問: Arduino Uno的函數(shù)示例 我決定自己編寫函數(shù)示例代碼,因為這應該是Arduino中的基本示例。網絡上確實有關于使用函數(shù)的文檔,但是,如果要嘗試使用代碼環(huán)境,則必須得訪問
    的頭像 發(fā)表于 11-16 16:05 ?479次閱讀
    <b class='flag-5'>自己</b>編寫函數(shù)示例<b class='flag-5'>代碼</b>很難嗎?分享幾個示例!