ios -如何讓你寫的代碼更規(guī)范2

接著上篇繼續(xù)拓展http://www.reibang.com/p/cf5a8f09e887
1 添加必要的注釋料滥,更加方便維護
我想提到的是 TODO,MARK,FIXME 這個三個標記
分別標記著
(1)我們將要實現(xiàn)的功能
(2)標記的代碼段
(3)修復的bug

 - (void)viewDidLoad {
     [super viewDidLoad];
    //TODO:  將要實現(xiàn)的功能
    //MARK:  做標記
    //FIXME: 修復的bug
}

這樣也會更新響應的方法的下拉列表


52EB1F73-FAAC-4DDB-AEDF-139C55656E33.png

2 使用/// 來注釋屬性或者方法井辜,更加方便閱讀
我們來對比一下這幾種注釋

#import <UIKit/UIKit.h>
@interface YBOrderUnCompleteVC : UIViewController
/// 訂單id
@property (nonatomic, strong) NSString* orderId;
// 訂單號
@property (nonatomic, strong) NSString* orderNo;
/** 訂單名 */
@property (nonatomic, strong) NSString* orderName;
@end

這三種注釋都是比較常用的注釋方法,但是會有啥區(qū)別呢
我們嘗試new YBOrderUnCompleteVC的對象,來使用到這些屬性會有什么區(qū)別


E16F754E-8BDD-4175-AAA4-269D9CC1FFD7.png
F098A2DD-C75D-43B5-8170-107950F2CE33.png
8254CBDA-E93D-48D8-8E6D-0A2880CECC74.png

我們可以明顯的發(fā)現(xiàn)第一種 和第三種 注釋的方式 xcode 是有給屬性的注釋的提示的,然而第二種 的注釋,卻是沒有提示的
接著在來對比 第一種注釋 /// 訂單名 和 /** 訂單名 */ 一個很明顯的地方就是/// 是可以容易打出來的對比第三種注釋 以此更加推薦使用 ///

3 注意代碼的排版
(1)不要漏掉一些空格
要想寫出來看起來很舒服的代碼于未,那么我們盡量保持與蘋果定義方法和語句一致了我們先來看看定義方法需要注意什么

6E7F6FEB-BA7A-46EF-B7E8-6D8777BAABDF.png

通過截圖我們可以注意到蘋果定義方法的習慣是怎么樣的
-空格(void)viewDidLoad空格{
}
因此該空格的時候我們就需要記得加空格,當然加了也感覺到代碼是沒有這么擁擠哀军,看起舒服很多沉眶,因此還是跟隨蘋果的腳步吧,在來看一些常規(guī)的語句


27B25152-9AF4-49C8-8059-266EBBC0FD26.png

我們可以注意到 其實可以比較容易找到規(guī)律杉适,一般() 或者{} 都是有空格的
在舉個例子 適當?shù)目崭竦拇a看起來更加舒服整潔

     //
    YBOrderUnCompleteVC *unCompleteVc  = [YBOrderUnCompleteVC new];
    unCompleteVc.orderId               = @"xxxxxx";
    unCompleteVc.orderNo               = @"xxxxxx";
    unCompleteVc.orderName             = @"xxxxxx";   

(2)注意寫屬性的排版

#import <UIKit/UIKit.h>
@interface YBOrderUnCompleteVC : UIViewController
/// 訂單id
@property (nonatomic, strong) NSString* orderId;
// 訂單號
@property (nonatomic, strong) NSString* orderNo;
/** 訂單名 */
@property (nonatomic, strong) NSString* orderName;
@end

利用簽名的案例的排版谎倔,基本上我們大部分的屬性都是nonatomic不需要原子性的因此個人更加建議nonatomic 寫在左邊
也就是大概這么一個樣式
@property (nonatomic, xxxx) xxx* xxx;

4 定義快捷代碼段
定義快捷代碼段還是有很多好處的
(1) 提高碼速
(2) 有整齊化一的排版
下面我們gif 圖如何定義快捷代碼段

Untitled1.gif

看到上面的gif 圖的可以看到快速定義代碼段主要分為以下幾步
(1) 寫一段你想快速定義的代碼段
(2) 拖到右下角的窗口,然后在在定義的代碼部分用<#name#>代替
(3) 直接輸入快捷定義代碼段的關鍵字

我們在拓展一下我們的思維就知道這個大有用處猿推,特別在類似tableView 和collectionView 這些要重復去寫代理和數(shù)據(jù)源可以用快捷代碼段就可以列出來片习,然后慢慢在去修改。另外前面提到要注意的代碼書寫規(guī)范的問題蹬叭,都可以使用定義快捷代碼段來定義一套規(guī)范的快捷代碼段

5.自定義xcode 模板

D92500E1-B6D7-45F9-A4AB-046268CA6141.png

如上圖利用#pragma mark - xxxx 的注釋
把我們雜亂文章的代碼有條理的整理好藕咏,不僅可以寫出更有條不紊的代碼,并且整個團隊使用同一個模板秽五,維護起來也更加便利孽查,風格也更加統(tǒng)一。另外在右上角的下拉列表快捷查找到分類的方法

4B99E36E-C63A-44E7-976A-4E17EE7857BD.png

簡單的解釋幾個常用分類的意思

// 生命周期
#pragma mark - Life Cycle                                    
// 初始化方法
#pragma mark - Initial Function                               
// 響應事件方法
#pragma mark - Event Response                           
// 通知的回調
#pragma mark - --Notification Event Response  
// 按鈕點擊響應方法
#pragma mark - --Button Event Response
// 手勢點擊響應方法          
#pragma mark - --Gesture Event Response       
 // 系統(tǒng)代理坦喘,例如tableview 代理
#pragma mark - System Delegate    
// 自定義一些控件的代理                  
#pragma mark - Custom Delegate                     
// 公開可以調用的方法
#pragma mark - Public Function                          
// 內部調用的方法
#pragma mark - Private Function  
// 一般放懶加載方法                     
#pragma mark - --Getter                                    
//  setter方法
#pragma mark - --Setter

當然定義怎樣的模板每個人或者說每個團隊都有自己的定義盲再,只要有條理即可,那么來看一下怎么自定義這個xcode模板呢 百度可以找到相關的文章我也找到一篇
http://www.cocoachina.com/ios/20170419/19087.html

/// 文章轉載請寫明出處

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯(lián)系作者
  • 序言:七十年代末瓣铣,一起剝皮案震驚了整個濱河市答朋,隨后出現(xiàn)的幾起案子,更是在濱河造成了極大的恐慌棠笑,老刑警劉巖梦碗,帶你破解...
    沈念sama閱讀 217,084評論 6 503
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現(xiàn)場離奇詭異蓖救,居然都是意外死亡洪规,警方通過查閱死者的電腦和手機,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,623評論 3 392
  • 文/潘曉璐 我一進店門循捺,熙熙樓的掌柜王于貴愁眉苦臉地迎上來淹冰,“玉大人,你說我怎么就攤上這事巨柒。” “怎么了?”我有些...
    開封第一講書人閱讀 163,450評論 0 353
  • 文/不壞的土叔 我叫張陵洋满,是天一觀的道長晶乔。 經常有香客問我,道長牺勾,這世上最難降的妖魔是什么正罢? 我笑而不...
    開封第一講書人閱讀 58,322評論 1 293
  • 正文 為了忘掉前任,我火速辦了婚禮驻民,結果婚禮上翻具,老公的妹妹穿的比我還像新娘。我一直安慰自己回还,他們只是感情好裆泳,可當我...
    茶點故事閱讀 67,370評論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著柠硕,像睡著了一般工禾。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上蝗柔,一...
    開封第一講書人閱讀 51,274評論 1 300
  • 那天闻葵,我揣著相機與錄音,去河邊找鬼癣丧。 笑死槽畔,一個胖子當著我的面吹牛,可吹牛的內容都是我干的胁编。 我是一名探鬼主播厢钧,決...
    沈念sama閱讀 40,126評論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼掏呼!你這毒婦竟也來了坏快?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,980評論 0 275
  • 序言:老撾萬榮一對情侶失蹤憎夷,失蹤者是張志新(化名)和其女友劉穎莽鸿,沒想到半個月后,有當?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體拾给,經...
    沈念sama閱讀 45,414評論 1 313
  • 正文 獨居荒郊野嶺守林人離奇死亡祥得,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,599評論 3 334
  • 正文 我和宋清朗相戀三年,在試婚紗的時候發(fā)現(xiàn)自己被綠了蒋得。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片级及。...
    茶點故事閱讀 39,773評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖额衙,靈堂內的尸體忽然破棺而出饮焦,到底是詐尸還是另有隱情怕吴,我是刑警寧澤,帶...
    沈念sama閱讀 35,470評論 5 344
  • 正文 年R本政府宣布县踢,位于F島的核電站转绷,受9級特大地震影響,放射性物質發(fā)生泄漏硼啤。R本人自食惡果不足惜议经,卻給世界環(huán)境...
    茶點故事閱讀 41,080評論 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一處隱蔽的房頂上張望谴返。 院中可真熱鬧煞肾,春花似錦、人聲如沸嗓袱。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,713評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽索抓。三九已至钧忽,卻和暖如春,著一層夾襖步出監(jiān)牢的瞬間逼肯,已是汗流浹背耸黑。 一陣腳步聲響...
    開封第一講書人閱讀 32,852評論 1 269
  • 我被黑心中介騙來泰國打工, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留篮幢,地道東北人大刊。 一個月前我還...
    沈念sama閱讀 47,865評論 2 370
  • 正文 我出身青樓,卻偏偏與公主長得像三椿,于是被迫代替她去往敵國和親缺菌。 傳聞我的和親對象是個殘疾皇子,可洞房花燭夜當晚...
    茶點故事閱讀 44,689評論 2 354

推薦閱讀更多精彩內容

  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,095評論 25 707
  • Spring Cloud為開發(fā)人員提供了快速構建分布式系統(tǒng)中一些常見模式的工具(例如配置管理搜锰,服務發(fā)現(xiàn)伴郁,斷路器,智...
    卡卡羅2017閱讀 134,654評論 18 139
  • 好幾天沒有工作了蛋叼,正直開門紅的非常時期在行動中掉了鏈子焊傅。如何給不用類型的客戶講解保險公司的理財產品與其他理財?shù)?..
    康英鴿閱讀 216評論 0 0
  • 哲言古語勝甘露, 字重撩心潤旱田狈涮。 金榜小名埋志氣狐胎, 人生大道廣無邊。 權財勢力似虛幻歌馍, 壽數(shù)禍福緣上天握巢。 雖染凡...
    海王星1984閱讀 291評論 0 0
  • 有一些?受打擊 不開心哦
    lixueling閱讀 173評論 0 0