ios開發代碼規範

來源:互聯網
上載者:User

標籤:

代碼規範很重要,一個良好的代碼習慣要從一開始就養成 公用類和檔案的設計 (網路請求類、資料庫類、Model類、View類,Controller<根據流程圖>、Handle類<資料處理>、公用標頭檔<宏、介面的.h{URL}、常量const{通知中樞的名字、一些狀態代碼、枚舉、結構體}、全域配置(適配{螢幕適配、iOS系統適配}的宏、系統版本判斷、顏色值{參考圖片})>) 一、檔案     1、專案檔必須使用一個有意義的名字。          例如:TestDownImages     2、任何檔案的命名不要以中文命名。     3、檔案的目錄按以下結構       a、Document — 文檔所在路徑        b、Help — 協助檔案所在路徑       c、圖片等資源要放在單獨的目錄或組中 如:Images、Pic等。        d、Public檔案夾,存放公用類和第三方類庫,及工具類           Base檔案夾,自訂的父類       Thirds檔案夾,引用外部檔案或某個單獨的功能。例如:應用了第三方的json下載的功能,應該把所有的檔案放在單獨的Json組中。           Tools檔案夾,自訂的工具類(網路請求、資料庫類等),公用標頭檔(宏、介面的url、常量const{通知中樞的名字、狀態代碼、枚舉、結構體等},全域設定檔(螢幕適配、系統sdk適配、顏色值、圖片名字等))。       e、model、View或ViewController等檔案可以按照功能或檔案類型放在獨立的組中。 二、注釋        注釋是一個程式必不可少的一部分,它起到協助閱讀的重要作用。        並且一定要寫正確的注釋。注釋如果不正確比不寫還可怕。     1、注釋可以使用/*...*/和//兩種注釋符號,涉及多行注釋時盡量使用 /*...*/。     2、對與一行代碼的注釋可以放在前一行或本行的結束,不允許放在下一行,更不能在一行語句的中間(雖然這不會導致程式出錯)。     3、方法前面的注釋應按下面的格式    /**         * @方法名稱         * @方法描述         * @輸入參數        * @輸出參數         * @傳回值     */     4、不必每行都加註釋,在段落間加註釋要好於每行加。顯而易見的代碼加上的是無用注釋,所以不要加。 三、代碼的排版    程式員在代碼的編排上必須規範,如果排版格式混亂,別人就很難看懂你寫的是什麼,這將發費很多不必要的時間。     1、代碼的縮排應使用空格,且以兩個字元為單位。不能使用定位字元(tab)。              2、每行的長度最多不得超過100個字元                   以15寸Macbook Pro的大小,每行100個字元時能最大化地同時容下編輯器和iPhone模擬器,                   通過 “Xcode => Preferences => TextEditing => 勾選Show Page Guide / 輸入100 => OK” 來設定提醒     3、大括弧‘{}’的使用,最後一個括弧在來源程式中要單獨佔一行。        例如:        for(int i = 0; i < 10; i++) {         }     4、空格的使用    a、關鍵字和運算式之間要有空格        如:if(i = 0; i < 10; i++)     b、單目操作符不能與運算元分開        如:!a    c、除,外其他的雙目操作符應與運算元分開        如:i = i + 1;   if(a > b)    d、.h中協議<>前面要有一個空格。    e、成員聲明時,類型與變數之間至少有一個空格,*號要靠近變數。    f、@proprety()裡面,號緊跟前一個變數,與後一個變數之間留一個空格,()外先留一個空格再聲明屬性。    g、方法的+、-後面留一個空格。    h、方法的傳回型別與*之間留一個空格。參數中傳回型別與*之間留一個空格。    i、在多參數方法中,每個參數後面都有一個空格。     5、每行只能有一個語句        例如:NSInteger row = [indexPath row];                 NSString *imgurl = [self.list objectAtIndex:row];              NSURL *url = [NSURL URLWithString:imgurl];    6、空行     a、.h中的空行        import與interface之間加空行        成員變數與屬性間, 屬性與方法間 加空行        不同類型成員變數間, 不同類型的屬性間,不同類型的方法間 加空行    b、.m中        延展與implementation之間加空行        implementation與方法實現間加空行        方法與方法實現間加空行        方法內不同的邏輯代碼塊之間加空行 四、命名規範    1、保留字    o-c中保留字或關鍵字不能用於命名。     2、方法    a、方法的名稱應全部使用有意義的單片語成,且以小寫字母開頭。多單詞時,後面的單字首大寫(駝峰命名)。參數有別名時,參數別名與參數名一致,        但參數名首碼以_。參數別名與前一參數保留一個空格。參數無別名時,以有意義的字母命名。       例如:-(NameValue *) initWithId:(int)theId andName:(NSString *)theName;     3、變數    a、變數的名字要有意義,其他人能很容易讀懂其代表的意義。變數名可以採用同義的英文命名,可使用幾個英文單詞,第一個單詞首字母小寫,其他的單字首大寫。          如:NSString  *userName;    b、對於一些特殊類型的變數,命名時要帶上類型。          如、NSArray  *cityArray;    c、對於控制項命名時,尾碼要帶上特定的控制項名。          UILable  *userNameLable;    d、私人的執行個體變數前加一個底線           如:_myPrivateValue;     4、常量    a、避免在程式中直接出現常數,使用超過一次的應以宏定義的形式代替    b、常數的宏定義應與它實際使用時的類型一致。    c、常量的命名應該能表達出它的用途,並且用大寫的字母表示。    d、一些常量前加特殊首碼,可以作為不同常量的區分。     5、類     a、所有的類名,介面名都要以大寫字母開頭,多單詞時後面的單詞的首字母都大寫。類,介面名必須是有意義的。    c、繼承自UIView的類以View結尾,如:imageView。繼承自ViewController的類以viewController結尾 如:imageViewController 五、修改規範    1、新增行前後應有注釋說明     //修改人   修改時間   修改說明         新增的代碼    //修改結束     2、刪除代碼項的前後應有注釋     //修改人   修改時間   修改說明         刪除的代碼(將代碼注釋掉  並不是去掉)    //修改結束     3、修改代碼以注釋舊代碼新增新代碼的方式進行。 六、嵌套語句的使用規則        在程式中使用嵌套語句,一定要使嵌套語句的階層清晰明了。不能    讓人看了半天還分不清你的層次,弄清你想要表達的意思。     1、if...else..條件陳述式的使用     a、判斷的結構要合理    例如:if(a)    {        .......(有很多行代碼)      }      else      {        ......(只有一行代碼)      }    如上的代碼就不是很合理,可以修改為如下寫法    if(!a)    {        ......(只有一行代碼)      }    else    {        .......(有很多行代碼)      }     b、嵌套的if條件不要太多    例如:if(a)        {            if(b)            {                if(c)                {                    ......(還有很多if條件)                  }                else                {}            }            else            {}          }         else        {}    如上代碼有好多層的if條件判斷的嵌套,給人的感覺就是太亂,而且不    太容易分清判斷的到底是什麼。那麼就要把減少嵌套的語句,將嵌套的    語句方法化或者做其他處理。 

ios開發代碼規範

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.