單片機匯編程序編碼規范
規則3
頭文件、源文件的頭部,應進(jìn)行注釋。注釋必須列出:文件名、作者、目的、功能、修改日志等。
規則4
函數頭部應進(jìn)行注釋?zhuān)谐觯汉瘮档哪康?、功能、輸入參數、輸出參數、涉及到的通用變量和寄存器、調用的其他函數和模塊、修改日志等。對一些復雜的函數,在注釋中最好提供典型用法。
規則5
對重要代碼段的功能、意圖進(jìn)行注釋?zhuān)峁┯杏玫?、額外的信息。并在該代碼段的結束處加一行注釋表示該段代碼結束。
規則6
對于所有的常量,變量,數據結構聲明(包括數組、結構、類(lèi)、枚舉等),如果其命名不是充分自注釋的,在聲明時(shí)都必須加以注釋?zhuān)f(shuō)明其含義。
規則 7
維護代碼時(shí),要更新相應的注釋?zhuān)瑒h除不再有用的注釋。保持代碼、注釋的一致性,避免產(chǎn)生誤解。
3.命名
規則 1
標識符縮寫(xiě)
形成縮寫(xiě)的幾種技術(shù):
1) 去掉所有的不在詞頭的元音字母。如screen寫(xiě)成scrn, primtive寫(xiě)成prmv。
2) 使用每個(gè)單詞的頭一個(gè)或幾個(gè)字母。如Channel Activation寫(xiě)成ChanActiv,Release
Indication寫(xiě)成RelInd。
3) 使用變量名中每個(gè)有典型意義的單詞。如Count of Failure寫(xiě)成FailCnt。
4) 去掉無(wú)用的單詞后綴 ing, ed等。如Paging Request寫(xiě)成PagReq。
5) 使用標準的或慣用的縮寫(xiě)形式(包括協(xié)議文件中出現的縮寫(xiě)形式)。如BSIC(Base Station
Identification Code)、MAP(Mobile Application Part)。
關(guān)于縮寫(xiě)的準則:
1) 縮寫(xiě)應該保持一致性。如Channel不要有時(shí)縮寫(xiě)成Chan,有時(shí)縮寫(xiě)成Ch。Length有時(shí)縮寫(xiě)成Len,有時(shí)縮寫(xiě)成len。
2) 在源代碼頭部加入注解來(lái)說(shuō)明協(xié)議相關(guān)的、非通用縮寫(xiě)。
3) 標識符的長(cháng)度不超過(guò)12個(gè)字符。
規則2
變量命名約定:前綴> + 主體 ; 注釋
變量命名要考慮簡(jiǎn)單、直觀(guān)、不易混淆。
前綴是可選項,表示變量類(lèi)型,由于匯編中變量多是單字節變量,所以單字節變量可以不加前綴,對于bit和雙字節型變量,使用小寫(xiě)的b和d作為前綴表示。
主體是必選項,可多個(gè)單詞(或縮寫(xiě))合在一起,每個(gè)單詞首字母大寫(xiě),其余部分小寫(xiě)。
規則3
常量的命名
常量的命名規則:?jiǎn)卧~的字母全部大寫(xiě),各單詞之間用下劃線(xiàn)隔開(kāi)。
規則4
函數的命名
單詞首字母為大寫(xiě),其余均為小寫(xiě)。函數名應以一個(gè)動(dòng)詞開(kāi)頭,即函數名應類(lèi)似一個(gè)動(dòng)詞斷語(yǔ)或祈使句。
例如:Test_Protect, Check_EEPROM, Init_Para
4.可維護性
規則1
函數和過(guò)程中關(guān)系較為緊密的代碼盡可能相鄰。
規則2
每個(gè)函數的源程序行數原則上應該少于200行。
對于消息分流處理函數,完成的功能統一,但由于消息的種類(lèi)多,可能超過(guò)200行的限制,不屬于違反規定。
規則3
語(yǔ)句嵌套層次不得超過(guò)5層。
嵌套層次太多,增加了代碼的復雜度及測試的難度,容易出錯,增加代碼維護的難度。
規則4
避免相同的代碼段在多個(gè)地方出現。
當某段代碼需在不同的地方重復使用時(shí),應根據代碼段的規模大小使用函數調用或宏調用的方式代替。這樣,對該代碼段的修改就可在一處完成,增強代碼的可維護性。
規則5
每個(gè)函數完成單一的功能,不設計多用途面面俱到的函數。
多功能集于一身的函數,很可能使函數的理解、測試、維護等變得困難。使函數功能明確化,增加程序可讀性,亦可方便維護、測試。
規則6
在函數的項目維護文檔中,應該指出軟件適用的硬件平臺及版本。
建議1
使用專(zhuān)門(mén)的初始化函數對所有的公共變量進(jìn)行初始化。
5.程序正確性、效率
規則1
嚴禁使用未經(jīng)初始化的變量。
引用未經(jīng)初始化的變量可能會(huì )產(chǎn)生不可預知的后果,特別是引用未經(jīng)初始化的指針經(jīng)常會(huì )導致系統崩潰,需特別注意。
規則2
防止內存操作越界。
說(shuō)明:內存操作越界是軟件系統主要錯誤之一,后果往往非常嚴重。
規則3
注意變量的有效取值范圍,防止表達式出現上溢或下溢。
規則4
防止易混淆的指令和操作數拼寫(xiě)錯誤。
規則5
避免函數中不必要語(yǔ)句,防止程序中的垃圾代碼,預留代碼應以注釋的方式出現。
程序中的垃圾代碼不僅占用額外的空間,而且還常常影響程序的功能與性能,很可能給程序的測試、維護等造成不必要的麻煩。
規則6
通過(guò)對系統數據結構的劃分與組織的改進(jìn),以及對程序算法的優(yōu)化來(lái)提高空間效率。
這種方式是解決軟件空間效率的根本辦法。
規則7
循環(huán)體內工作量最小化。
應仔細考慮循環(huán)體內的語(yǔ)句是否可以放在循環(huán)體之外,使循環(huán)體內工作量最小,從而提高程序的時(shí)間效率。
評論