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

完善資料讓更多小伙伴認(rèn)識(shí)你,還能領(lǐng)取20積分哦,立即完善>

3天內(nèi)不再提示

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

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

1. 命名規(guī)范:

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

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

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

int sensorValue; // 駝峰命名法constintMAX_VALUE=100;//下劃線(xiàn)命名法

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

#defineBUFFER_SIZE256enumColor{RED,GREEN,BLUE};


2. 縮進(jìn)和格式化:

-使用一致的縮進(jìn)風(fēng)格,通常是四個(gè)空格或一個(gè)制表符。-使用大括號(hào)和適當(dāng)?shù)目s進(jìn)來(lái)組織代碼塊。

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

-適當(dāng)?shù)厥褂每崭駚?lái)提高可讀性,例如在運(yùn)算符、逗號(hào)和分號(hào)之間加入空格。

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

-使用空行來(lái)分隔邏輯上相關(guān)的代碼塊,提高代碼的可讀性。

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


3. 注釋?zhuān)?/p>

-在代碼上方或關(guān)鍵部分添加注釋?zhuān)忉尨a的目的、功能和實(shí)現(xiàn)方法。-使用清晰明確的注釋?zhuān)苊馐褂媚:虿槐匾淖⑨尅?/p>

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

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

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

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


5. 錯(cuò)誤處理:

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

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

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

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

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

const int MAX_SIZE = 100;constfloatPI=3.14159;

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

-如果函數(shù)參數(shù)較多,應(yīng)考慮使用結(jié)構(gòu)體或?qū)ο髞?lái)傳遞參數(shù),以減少函數(shù)參數(shù)列表的長(zhǎng)度。-函數(shù)參數(shù)的順序應(yīng)該有邏輯性和一致性,便于閱讀和使用。

voidprocessData(intid,floatvalue,constchar*name)


8. 錯(cuò)誤處理和異常:

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

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


9. 可讀性和注釋?zhuān)?/p>

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

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


10. 單元測(cè)試和代碼審查:

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

-將代碼分解為邏輯上獨(dú)立的模塊或函數(shù),每個(gè)函數(shù)應(yīng)該只負(fù)責(zé)一個(gè)具體的任務(wù)或功能。

-函數(shù)應(yīng)保持簡(jiǎn)潔和緊湊,避免過(guò)長(zhǎng)的函數(shù)體和過(guò)多的嵌套層級(jí)。長(zhǎng)函數(shù)可以考慮進(jìn)行重構(gòu)和拆分。

12. 錯(cuò)誤處理和異常:

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

13. 持續(xù)集成和自動(dòng)化測(cè)試:

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

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

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

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

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

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

16. 編碼標(biāo)準(zhǔn)和風(fēng)格指南:

-遵循特定的編碼標(biāo)準(zhǔn)和風(fēng)格指南,如Google C++ Style Guide、GNU Coding Standards等。

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

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

    關(guān)注

    30

    文章

    4695

    瀏覽量

    68080
  • 變量
    +關(guān)注

    關(guān)注

    0

    文章

    608

    瀏覽量

    28286
收藏 人收藏

    評(píng)論

    相關(guān)推薦

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

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

    16對(duì)語(yǔ)音配線(xiàn)架怎么

    16對(duì)語(yǔ)音配線(xiàn)架的使用主要涉及準(zhǔn)備、安裝、端接、測(cè)試等步驟。以下是一個(gè)詳細(xì)的使用指南: 一、準(zhǔn)備工作 材料準(zhǔn)備: 16對(duì)語(yǔ)音配線(xiàn)架 16對(duì)大對(duì)數(shù)電纜 標(biāo)簽紙 剝線(xiàn)器 打線(xiàn)鉗 壁紙刀 剪刀 尼龍?jiān)鷰?/div>
    的頭像 發(fā)表于 08-21 09:39 ?161次閱讀

    6芯M16母頭如何通過(guò)代碼來(lái)識(shí)別其用途

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

    Simulink自動(dòng)生成代碼現(xiàn)階段的學(xué)習(xí)筆記

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

    代碼檢查的方式有三

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

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

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

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

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

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

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

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

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

    開(kāi)關(guān)穩(wěn)壓器設(shè)計(jì)您自己的DC-DC轉(zhuǎn)換器

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

    淺談Verilog HDL代碼編寫(xiě)風(fēng)格

    消失了好久,沒(méi)有寫(xiě)文章,也沒(méi)有做筆記,因?yàn)樽罱仝s一個(gè)比賽,時(shí)間很緊,昨天周六終于結(jié)束了,所以趁著周末這會(huì)兒有時(shí)間,寫(xiě)點(diǎn)東西,記錄下來(lái)。首先我學(xué)習(xí)FPGA才一年多,我知道自己沒(méi)有資格談?wù)撘恍┍容^
    的頭像 發(fā)表于 11-20 10:04 ?659次閱讀
    淺談Verilog HDL<b class='flag-5'>代碼</b>編寫(xiě)風(fēng)格

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

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

    14行Python代碼創(chuàng)建Switch自制程序

    Python開(kāi)發(fā)Switch程序,在你的Switch上運(yùn)行Python代碼,你需要用到一個(gè)名為PyNX的開(kāi)源工具,操作流程如下: 1. 讀卡器將SD卡插入開(kāi)發(fā)設(shè)備(電腦or筆記本)
    的頭像 發(fā)表于 11-02 14:41 ?490次閱讀

    基于Python 超簡(jiǎn)單格式化代碼

    統(tǒng)一代碼規(guī)范??!然而這顯然是不可能的。 不過(guò)雖然無(wú)法改變他人,但我們可以改變自己?,F(xiàn)在有了Black這個(gè)神器,我們可以在終端中輸入一句命令自動(dòng)使用最規(guī)范
    的頭像 發(fā)表于 11-01 11:27 ?479次閱讀
    基于Python 超簡(jiǎn)單格式化<b class='flag-5'>代碼</b>

    如何用一行命令格式化 Python 代碼

    統(tǒng)一代碼規(guī)范?。∪欢@顯然是不可能的。 不過(guò)雖然無(wú)法改變他人,但我們可以改變自己?,F(xiàn)在有了Black這個(gè)神器,我們可以在終端中輸入一句命令自動(dòng)使用最規(guī)范
    的頭像 發(fā)表于 10-31 10:35 ?521次閱讀
    如何用一行命令格式化 Python <b class='flag-5'>代碼</b>