91欧美超碰AV自拍|国产成年人性爱视频免费看|亚洲 日韩 欧美一厂二区入|人人看人人爽人人操aV|丝袜美腿视频一区二区在线看|人人操人人爽人人爱|婷婷五月天超碰|97色色欧美亚州A√|另类A√无码精品一级av|欧美特级日韩特级

0
  • 聊天消息
  • 系統(tǒng)消息
  • 評(píng)論與回復(fù)
登錄后你可以
  • 下載海量資料
  • 學(xué)習(xí)在線課程
  • 觀看技術(shù)視頻
  • 寫文章/發(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ù)

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

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

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

#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. 注釋:

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

// 計(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. 可讀性和注釋:

-代碼應(yīng)具有良好的可讀性,使用有意義的變量名和函數(shù)名,并避免使用過(guò)于復(fù)雜的表達(dá)式和嵌套結(jié)構(gòu)。-注釋應(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è)試和代碼審查:

-編寫適當(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)容及配圖由入駐作者撰寫或者入駐合作網(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

    文章

    4968

    瀏覽量

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

    關(guān)注

    0

    文章

    616

    瀏覽量

    29506
收藏 人收藏
加入交流群
微信小助手二維碼

掃碼添加小助手

加入工程師交流群

    評(píng)論

    相關(guān)推薦
    熱點(diǎn)推薦

    如何規(guī)范、但不濫用局部變量(Local Variable)

    前面已產(chǎn)生的值(讀局部變量相對(duì)安全)。 UI刷新:把計(jì)算結(jié)果分發(fā)到多個(gè)顯示控件(尤其在事件結(jié)構(gòu)里,集中計(jì)算后分發(fā)顯示)。 臨時(shí)過(guò)渡:重構(gòu)舊代碼時(shí)短期使用,之后應(yīng)回到線傳遞或架構(gòu)化方式。 不建議
    發(fā)表于 02-04 08:42

    【社區(qū)之星】向愨——通過(guò)文檔來(lái)梳理自己的思路,讓自己思維更細(xì)致,更規(guī)范

    硬件到軟件。就差沒(méi)有學(xué)操作系統(tǒng)了。 我也從這些知識(shí)中,根據(jù)自己所在的行業(yè),對(duì)部分的知識(shí)做了深挖和拓展。 工作經(jīng)歷 從2013年開(kāi)始工作,一直從事研發(fā)相關(guān)工作。先后從事2.4G無(wú)線射頻音頻設(shè)備開(kāi)發(fā);工業(yè)
    發(fā)表于 12-19 10:35

    小紅書獲取筆記正文和點(diǎn)贊數(shù)的API接口

    API訪問(wèn)步驟、代碼示例和最佳實(shí)踐。 1. API接口介紹 小紅書提供開(kāi)發(fā)者API,允許授權(quán)用戶訪問(wèn)平臺(tái)數(shù)據(jù)。獲取筆記正文和點(diǎn)贊數(shù)通常涉及以下步驟: 認(rèn)證 :首先,注冊(cè)為小紅書開(kāi)發(fā)者,獲取API密鑰(API Key)和訪問(wèn)令牌(Access Token)。這需要在小紅
    的頭像 發(fā)表于 11-18 16:27 ?1106次閱讀
    小紅書獲取<b class='flag-5'>筆記</b>正文和點(diǎn)贊數(shù)的API接口

    【綜述】工作總有規(guī)范——測(cè)試執(zhí)行和bug

    關(guān)于測(cè)試工作的規(guī)范,上次討論了例部分。本次將繼續(xù)聊下測(cè)試執(zhí)行期間的規(guī)范標(biāo)準(zhǔn),是主要需要測(cè)試執(zhí)行人員關(guān)注的部分?!緶y(cè)試執(zhí)行】測(cè)試執(zhí)行規(guī)范或標(biāo)準(zhǔn),主要是為了確保測(cè)試人員“在正確的環(huán)境做正
    的頭像 發(fā)表于 10-24 10:04 ?437次閱讀
    【綜述】工作總有<b class='flag-5'>規(guī)范</b>——測(cè)試執(zhí)行和bug

    代碼格式化工具Clang-Format提升你的CW32工程質(zhì)量

    它能自動(dòng)統(tǒng)一團(tuán)隊(duì)代碼風(fēng)格,讓不同開(kāi)發(fā)者寫出的代碼如出一轍。就像 CW32 官方庫(kù)函數(shù)遵循統(tǒng)一規(guī)范一樣,Clang-Format 能讓團(tuán)隊(duì)所有成員的代碼瞬間保持一致,徹底消除 "tabs
    的頭像 發(fā)表于 10-09 17:43 ?1154次閱讀
    <b class='flag-5'>代碼</b>格式化工具Clang-Format提升你的CW32工程質(zhì)量

    睿遠(yuǎn)研究院丨IO-Link規(guī)范解讀(一):技術(shù)定義與組織規(guī)范

    ? IO-Link 技術(shù)定義與組織規(guī)范 從今日起,小睿將開(kāi)始長(zhǎng)篇連載IO-Link規(guī)范解讀系列文章,幫助大家理解和熟悉IO-Link規(guī)范,并把IO-Link技術(shù)應(yīng)用到自己的產(chǎn)品中去。這
    的頭像 發(fā)表于 09-18 18:17 ?1000次閱讀
    睿遠(yuǎn)研究院丨IO-Link<b class='flag-5'>規(guī)范</b>解讀(一):技術(shù)定義與組織<b class='flag-5'>規(guī)范</b>

    VSCode 編寫自己的 KiCad 插件(下)

    “ ?很多小伙伴都想自己開(kāi)發(fā) KiCad 插件,但不知從何入手。本文由華秋電子的另一位 KiCad 開(kāi)發(fā)者波波同學(xué)撰寫,分享了如何快速搭建環(huán)境,并開(kāi)發(fā)一個(gè)簡(jiǎn)單的插件。? ” ? ? ? 所有環(huán)境配置
    的頭像 發(fā)表于 06-19 11:44 ?2870次閱讀
    <b class='flag-5'>用</b> VSCode 編寫<b class='flag-5'>自己</b>的 KiCad 插件(下)

    在哪些情況下可以通過(guò) EZ-PD API 和/或 HPI 接口向 EMCA 發(fā)送/接收來(lái)自 UPF /電源的消息?

    我們有一個(gè) USB-C 擴(kuò)展塢,擴(kuò)展塢 USB-C 端口通常處于 UFP / Source 模式,與筆記本電腦連接。 我們正在調(diào)查一個(gè)例,當(dāng)筆記本電腦通過(guò)有源 USB-C 電纜與 EMCA 連接
    發(fā)表于 05-28 07:27

    同樣的代碼在官方開(kāi)發(fā)板上運(yùn)行正常,在自己板子上就跑不起來(lái),怎么辦?

    同樣的代碼在Nordic官方開(kāi)發(fā)板上可以運(yùn)行正常,但在自己板子上就跑不起來(lái),如果你碰到了上述情況,建議按照如下步驟進(jìn)行自檢: 首先確認(rèn)用戶板元器件焊接良好,功能正常。如果你的板子有LED的話,你可以
    的頭像 發(fā)表于 05-12 15:26 ?776次閱讀
    同樣的<b class='flag-5'>代碼</b>在官方開(kāi)發(fā)板上運(yùn)行正常,在<b class='flag-5'>自己</b>板子上就跑不起來(lái),怎么辦?

    為什么你拿著《規(guī)范》,卻不會(huì)“設(shè)計(jì)”?

    特別注意輸入電容的放置,如圖所示,將電容放置在芯片背面(減小了和開(kāi)關(guān)管的距離),所測(cè)得噪聲大小要遠(yuǎn)小于其他兩方式(電容放在側(cè)面和較長(zhǎng)的引線連接電容)。 不同電容情況的輻射對(duì)比 隨著先進(jìn)封裝的發(fā)展,更多
    發(fā)表于 04-28 16:21

    133條原理圖設(shè)計(jì)規(guī)范checklist

    原理圖設(shè)計(jì)是產(chǎn)品設(shè)計(jì)的理論基礎(chǔ),設(shè)計(jì)一份規(guī)范的原理圖對(duì)設(shè)計(jì)PCB、跟機(jī)、做客戶資料具有指導(dǎo)性意義,是做好一款產(chǎn)品的基礎(chǔ)。原理圖設(shè)計(jì)基本要求: 規(guī)范、清晰、準(zhǔn)確、易讀。 因此制定《原理圖設(shè)計(jì)規(guī)范
    發(fā)表于 04-11 10:50

    STM32Cube學(xué)習(xí)筆記 (十六篇全)

    資料介紹: STM32Cube學(xué)習(xí)筆記,一步一步手把手帶你進(jìn)入STM32Cube的世界,包括點(diǎn)燈,按鍵,串口,ADC,DAC等等一共16篇。 純分享貼,有需要可以直接下載附件獲取完整資料! (如果內(nèi)容有幫助可以關(guān)注、點(diǎn)贊、評(píng)論支持一下哦~)
    發(fā)表于 03-22 17:02

    如何為micropython添加自己的C代碼庫(kù)?

    部分代碼需要更高效的效率 如何為micropython添加自己的C代碼庫(kù)? 是否有教程? 如果可以的話是否可以提供一個(gè)實(shí)現(xiàn)實(shí)例?
    發(fā)表于 03-11 07:03