iOS代碼規(guī)范新解

命名規(guī)范

對于命名規(guī)范這里就不多少了,蘋果給的有官方的文檔《蘋果Cocoa編碼規(guī)范》。簡單總結一下就是遵循清晰簡潔淳地、見名知意、駝峰命名的原則纱扭。其實命名參照系統的Api就可以了,如成員變量儡遮、類方法乳蛾、枚舉、block等。

前綴

加前綴可以防止和蘋果以及其他第三方庫的命名沖突肃叶。如是封裝SDK內部引用了第三方庫時蹂随,也應將三方庫重命名。

排版空格

  • 關鍵詞和操作符之間加適當的空格因惭。 [必須]
    正確的示范:
    int count = 5; //注意 = 之間的空格
    錯誤的示范:
    int count=5; 
    
  • 方法的聲明和定義在-號或者+號與返回值之間應留一個空格岳锁。而返回值與方法名以及方法名和參數列表之間都不應該有空格例如
    - (void)doSomethingWithString:(NSString *)theString { ...}
    

命名禁忌

  • 不了用下劃線、破折號蹦魔,這不止看著丑得問題激率。
  • 不要用漢字表情(不要以為這是玩笑,真有人這么干過)
  • 不要用類似a1勿决、a2這種命名變量
    *不要用漢語拼音

硬數據問題

項目中盡量減少硬數據柱搜,當然作為移動開發(fā)項目中硬數據占比會相對大一點,但也不要直接寫死在代碼里剥险。如不得不用硬數據,也請用字符串常量和宏從代碼塊里抽離到公共文件里統一管理宪肖。

能用字符串常量的表制,就不要用宏

  • 這樣編譯速度快
  • 字符串可直接進行比較

顏色值定義

現在項目UI給layout時,顏色基本都是給十六進制的顏色值控乾,以前碰到的項目里面總是大量的顏色值硬數據或者是重復定義的值么介。

  • 顏色值轉換最后選位操作,而不是字符串
    方法如下:
    +(UIColor*)colorWithRGBValue:(NSInteger)rgbValue{
        return [UIColor colorWithRed:((float)((rgbValue & 0xFF0000)   >> 16))/255.0  green:((float)((rgbValue & 0x00FF00) >> 8))/255.0      blue:((float)(rgbValue & 0x0000FF))/255.0 alpha:1.0];
    }
    
  • 顏色值命名
    個人總結了一個比較方便的命名蜕衡,配合xcode的聯想提示壤短,我們在用時就不需要查該值得顏
    色值到底對應的是哪個變量了。
    格式:
    主顏色+顏色值(前兩位)
    如:
    #define whiteColor_FF [UIColor colorWithRGBValue:0xFFFFFF]
    #define whiteColor_F5 [UIColor colorWithRGBValue:0xF5F5F5]
    

條件判斷邏輯

  • 優(yōu)先使用三目運算符
    表達式1 ? 表達式2 : 表達式3;
    
  • 判斷條件可用switch語句時慨仿,就不要用if語句
    switch ($expr) {
      case 0:
           // do something
          break;
      case 1:
      case 2:
      case 3:
      case 4:
          // do something
      default:
           // do something
          break;
    }
     注意default這里最后做一下容錯
    
  • 在使用if-else 時久脯,判斷條件一定要補全,注意容錯
    錯誤用法1:
     if ($expr1) {
      // do something
      }
     if ($expr2) {
      // do something
      }
     if ($expr3) {
      // do something
      }
    
    錯誤用法2:
    if ($expr1) {
     // do something
     }else if ($expr2) {
     // do something
     }
    
    正確用法:
    if ($expr1) {
     // do something
    } elseif ($expr2) {
     // do something
    } else {
     // do something
    }
    最后不要沒有else镰吆,else這里往往需要做容錯處理帘撰,遺漏后會導致各種情況考慮不全面從而產生bug。
    

Success與Failed

不要遺漏failed的邏輯万皿,如網絡請求摧找、自定義block的failed一定要做好失敗的容錯處理。

Tableview

不要將數據寫到cell內牢硅,也不要在cellForRowAtIndexPath內對cell的屬性一個個賦值蹬耘。

總結

這里只是將項目中遇到的一些奇葩代碼做一個記錄,避免這些低級錯誤减余。也許你不會這么去做综苔,但如果不定規(guī)范到時候項目中還是會出現各種奇葩代碼,即便定了規(guī)范,普遍的問題最好還是強調一下休里,因為規(guī)范可能太長蛆挫,不是誰都能有耐心細致的看完,并嚴格執(zhí)行下去妙黍,最終還是要Review來保證代碼質量悴侵。

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末,一起剝皮案震驚了整個濱河市拭嫁,隨后出現的幾起案子可免,更是在濱河造成了極大的恐慌,老刑警劉巖做粤,帶你破解...
    沈念sama閱讀 221,198評論 6 514
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件浇借,死亡現場離奇詭異,居然都是意外死亡怕品,警方通過查閱死者的電腦和手機妇垢,發(fā)現死者居然都...
    沈念sama閱讀 94,334評論 3 398
  • 文/潘曉璐 我一進店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來肉康,“玉大人闯估,你說我怎么就攤上這事『鸷停” “怎么了涨薪?”我有些...
    開封第一講書人閱讀 167,643評論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長炫乓。 經常有香客問我刚夺,道長,這世上最難降的妖魔是什么末捣? 我笑而不...
    開封第一講書人閱讀 59,495評論 1 296
  • 正文 為了忘掉前任侠姑,我火速辦了婚禮,結果婚禮上箩做,老公的妹妹穿的比我還像新娘结借。我一直安慰自己,他們只是感情好卒茬,可當我...
    茶點故事閱讀 68,502評論 6 397
  • 文/花漫 我一把揭開白布船老。 她就那樣靜靜地躺著,像睡著了一般圃酵。 火紅的嫁衣襯著肌膚如雪柳畔。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,156評論 1 308
  • 那天郭赐,我揣著相機與錄音薪韩,去河邊找鬼确沸。 笑死,一個胖子當著我的面吹牛俘陷,可吹牛的內容都是我干的罗捎。 我是一名探鬼主播,決...
    沈念sama閱讀 40,743評論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼拉盾,長吁一口氣:“原來是場噩夢啊……” “哼桨菜!你這毒婦竟也來了?” 一聲冷哼從身側響起捉偏,我...
    開封第一講書人閱讀 39,659評論 0 276
  • 序言:老撾萬榮一對情侶失蹤倒得,失蹤者是張志新(化名)和其女友劉穎夭禽,沒想到半個月后霞掺,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 46,200評論 1 319
  • 正文 獨居荒郊野嶺守林人離奇死亡讹躯,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 38,282評論 3 340
  • 正文 我和宋清朗相戀三年潮梯,在試婚紗的時候發(fā)現自己被綠了挤巡。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片。...
    茶點故事閱讀 40,424評論 1 352
  • 序言:一個原本活蹦亂跳的男人離奇死亡酷麦,死狀恐怖,靈堂內的尸體忽然破棺而出喉恋,到底是詐尸還是另有隱情沃饶,我是刑警寧澤,帶...
    沈念sama閱讀 36,107評論 5 349
  • 正文 年R本政府宣布轻黑,位于F島的核電站糊肤,受9級特大地震影響,放射性物質發(fā)生泄漏氓鄙。R本人自食惡果不足惜馆揉,卻給世界環(huán)境...
    茶點故事閱讀 41,789評論 3 333
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望抖拦。 院中可真熱鬧升酣,春花似錦、人聲如沸态罪。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,264評論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽复颈。三九已至绩聘,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背凿菩。 一陣腳步聲響...
    開封第一講書人閱讀 33,390評論 1 271
  • 我被黑心中介騙來泰國打工机杜, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留,地道東北人衅谷。 一個月前我還...
    沈念sama閱讀 48,798評論 3 376
  • 正文 我出身青樓椒拗,卻偏偏與公主長得像,于是被迫代替她去往敵國和親会喝。 傳聞我的和親對象是個殘疾皇子陡叠,可洞房花燭夜當晚...
    茶點故事閱讀 45,435評論 2 359

推薦閱讀更多精彩內容