国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 網站 > 建站經驗 > 正文

應該如何編寫高質量的Objective--C代碼

2019-11-02 14:50:14
字體:
來源:轉載
供稿:網友

   點標記語法

  屬性和冪等方法(多次調用和一次調用返回的結果相同)使用點標記語法訪問,其他的情況使用方括號標記語法。

  良好的風格:

  view.backgroundColor = [UIColor orangeColor];

  [UIApplication sharedApplication].delegate;

  不良的風格:

  [view setBackgroundColor:[UIColor orangeColor]];

  UIApplication.sharedApplication.delegate;

  間距

  二元運算符和參數之間需要放置一個空格,一元運算符、強制類型轉換和參數之間不放置空格。關鍵字之后圓括號之前需要放置一個空格。

  void *ptr = &value + 10 * 3;

  NewType a = (NewType)b;

  for (int i = 0; i < 10; i++) {

  doCoolThings();

  }

  數組和字典類型的字面值的方括號兩邊各放置一個空格。

  NSArray *theShit = @[ @1, @2, @3 ];

  字典字面值的鍵和冒號之間沒有空格,冒號和值之間有一個空格。

  NSDictionary *keyedShit = @{ GHDidCreateStyleGuide: @YES };

  C函數聲明中,左括號的前面不保留空格,并且函數名應該像類一樣帶有命名空間標識。

  良好的風格: void RNCwesomeFunction(BOOL hasSomeArgs);

  長的字面值應被拆分為多行。

  良好的風格:

  NSArray *theShit = @[

  @"Got some long string objects in here.",

  [AndSomeModelObjects too],

  @"Moar strings."

  ];

  NSDictionary *keyedShit = @{

  @"this.key": @"corresponds to this value",

  @"otherKey": @"remoteData.payload",

  @"some": @"more",

  @"JSON": @"keys",

  @"and": @"stuff",

  };

  每一行代碼使用4個空格縮進。不使用tab縮進。

  方法簽名以及其他關鍵字(if/else/switch/while等)后面跟隨的左花括號總是和語句出現于同一行,而右花括號獨占一行。

  良好的風格:

  if (user.isHappy) {

  //Do something

  }

  else {

  //Do something else

  }

  如果一個方法內有多個功能區域,可以使用空行分隔功能區域。

  每一行代碼不要超過100個字符。

  每一個方法之前都有一個99字符寬的注釋行,注釋行相對于使用空行更能提高代碼的辨識度,當一行代碼很長的時候,注釋行也起到了越界檢測的作用。注釋行:

  ///////////////////////////////////////////////////////////////////////////////////////////////////

  條件語句

  所有的邏輯塊必須使用花括號包圍,即使條件體只需編寫一行代碼也必須使用花括號。

  良好的風格做法:

  if (!error) {

  return success;

  }

  不良的風格:

  if (!error)

  return success;

  或:

  if (!error) return success;

  三元運算符

  長的三元運算符應使用圓括號括起來。三元運算符僅用于賦值和做參數。

  Blah *a = (stuff == thing ? foo : bar);

  合并的nil三元運算符應該盡量避免。

  不良的風格:

  Blah *b = thingThatCouldBeNil ?: defaultValue;

  多分支條件應該使用if語句或重構為實例變量。

  良好的風格:

  result = a > b ? x : y;

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 荆门市| 永寿县| 太白县| 班玛县| 张掖市| 浙江省| 武威市| 壤塘县| 安福县| 缙云县| 乌兰浩特市| 祥云县| 长寿区| 金川县| 阿拉善左旗| 佳木斯市| 毕节市| 铁岭县| 甘泉县| 辽阳县| 汨罗市| 伊宁县| 宿迁市| 东港市| 松阳县| 韶山市| 柏乡县| 黄骅市| 建昌县| 葵青区| 靖远县| 舟曲县| 琼结县| 当阳市| 静安区| 增城市| 岑巩县| 加查县| 沂南县| 霞浦县| 阜平县|