• <li id="00i08"><input id="00i08"></input></li>
  • <sup id="00i08"><tbody id="00i08"></tbody></sup>
    <abbr id="00i08"></abbr>
  • 新聞中心

    EEPW首頁 > 嵌入式系統 > 設計應用 > C51的編程規范說明

    C51的編程規范說明

    作者: 時間:2011-05-21 來源:網絡 收藏

    現在單片機的程序設計,已經得到廣泛的推廣和應用,算是單片機的主流設計程序,甚至可以說作為單片機開發人員必須要掌握的一門語言了。

    作為一門工具,最終的目的就是實現功能。在滿足這個前提條件下,我們希望我們的程序能很容易地被別人讀懂,或者能夠很容易地讀懂別人的程序,在團體合作開發中就能起到事半功倍之效。在網上請求幫助時,如能以的寫法貼出程序,網友會比較容易地明白你的問題,則會比較快的得到網友的幫助,否則讓人看上半天也不明所以然,這樣就達不到預期的效果了。因此,為了便于源程序的交流,減少合作開發中的障礙,希望大家能夠探討一下。把各人認為好的建議提出來,然后做一個總結,作為一種大家一致認同的,我認為將會是一件很有意義的事。我先提出一些自已的想法,以此拋磚引玉。

    一、注釋

    1,采用中文;
    2,開始的注釋:

    文件(模塊)注釋內容:
    公司名稱、版權、作者名稱、修改時間、模塊功能、背景介紹等,復雜的算法需要加上流程;

    比如:
    /***********************************************************/
    /*公司名稱: */

    /*模 塊 名: LCD 模塊 LCD 型號:HD44780 */

    /*創 建 人:zhaojunjie 日期:2001-06-08 */
    /*修 改 人: 日期:2001-06-08 */
    /*功能描述: */
    /*其他: */
    /*版 本:
    /*************************************************************/

    函數開頭的注釋內容:
    函數名稱、功能、 輸入、返回、函數描述、流程處理、全局變量、調用樣例等,復雜的函數需要加上變量用途說明;

    /**************************************************************
    *
    * 函 數 名: v_LcdInit
    * 功能描述: LCD初始化
    * 函數說明: 初始化命令:0x3c, 0x08, 0x01, 0x06, 0x10, 0x0c
    * 調用函數: v_Delaymsec(),v_LcdCmd()
    * 全局變量:
    * 輸 入: 無
    * 返 回: 無
    * 設 計 者:zhao 日期:2001-12-09
    * 修 改 者:zhao 日期:2001-12-09
    * 版 本:
    ****************************************************************/

    3、程序中的注釋內容:

    修改時間和作者、方便理解的注釋等。注釋內容應簡煉、清楚、明了,一目了然的語句不加注釋。

    二、命名:

    命名必須具有一定的實際意義。

    1、常量的命名:全部用大寫。

    2、變量的命名:
    變量名加前綴,前綴反映變量的數據類型,用小寫,反映變量意義的第一個字母大寫,其他小寫。
    其中變量數據類型:
    unsigned char 前綴 uc signed char 前綴 sc
    unsigned int 前綴 ui signed int 前綴 si
    unsigned long 前綴 ul signed long 前綴 sl
    bit 前綴 b 指針 前綴 p

    例:ucReceivData 接收數據
    3、結構體命名:

    4、函數的命名:
    函數名首字大寫,若包含有兩個單詞的每個單詞首字母大寫。
    函數原型說明包括:引用外來函數及內部函數,外部引用必須在右側注明函數來源: 模塊名及文件名, 內部函數,只要注釋其定義文件名;

    三、編輯風格

    1、縮進:縮進以 Tab 為單位,一個 Tab 為四個空格大小。預處理語句、全局數據、函數原型、標題、附加說明、函數說明、標號等均頂格書寫。語句塊的“{”“}”配對對齊,并與其前一行對齊;

    2、空格:數據和函數在其類型,修飾名稱之間適當空格并據情況對齊。關鍵字原則上空一格,如:
    if ( ... ) 等,運算符的空格規定如下:“->”、“[”、“]”、“++”、“--”、“~”、“!”、“+”、“-”(指正負號),“”(取址或引用)、“*”(指使用指針時)等幾個運算符兩邊不空格(其中單目運算符系指與操作數相連的一邊),其它運算符(包括大多數二目運算符和三目運算符“?:”兩邊均空一格,“(”、“)”運算符在其內側空一格,在作函數定義時還可據情況多空或不空格來對齊,但在函數實現時可以不用。“,”運算符只在其后空一格,需對齊時也可不空或多空格,對語句行后加的注釋應用適當空格與語句隔開并盡可能對齊。

    3、對齊:原則上關系密切的行應對齊,對齊包括類型、修飾、名稱、參數等各部分對齊。另每一行的長度不應超過屏幕太多,必要時適當換行,換行時盡可能在“,”處或運算符處,換行后最好以運算符打頭,并且以下各行均以該語句首行縮進,但該語句仍以首行的縮進為準,即如其下一行為“{”應與首行對齊。

    4、空行:程序文件結構各部分之間空兩行,若不必要也可只空一行,各函數實現之間一般空兩行

    5、修改:版本封存以后的修改一定要將老語句用/* */ 封閉,不能自行刪除或修改,并要在文件及函數的修改記錄中加以記錄。

    6、形參:在定義函數時,在函數名后面括號中直接進行形式參數說明,不再另行說明。

    本文引用地址:http://www.czjhyjcfj.com/article/172749.htm


    關鍵詞: 說明 規范 編程 C51

    評論


    相關推薦

    技術專區

    關閉
    主站蜘蛛池模板: 宜昌市| 南通市| 泌阳县| 托里县| 隆林| 汉寿县| 平定县| 云南省| 七台河市| 蒲城县| 汉阴县| 黄梅县| 全南县| 景德镇市| 巨鹿县| 重庆市| 龙井市| 石棉县| 漳平市| 九龙坡区| 商南县| 新乐市| 镇原县| 万山特区| 怀来县| 兴文县| 新密市| 台湾省| 贞丰县| 麻城市| 屏东县| 大足县| 西乌| 封开县| 阿克| 抚远县| 西华县| 安图县| 城市| 墨竹工卡县| 临城县|