iOS開發(fā)代碼規(guī)范整理

iOS代碼規(guī)范

Apple官方文檔:文檔

變量

  • 1.類烙荷,協(xié)議使用大駝峰
HomeViewController.h
<TipsViewDelegate>
  • 2.對(duì)象及局部變量使用小駝峰
NSString *personName = @"張三";
  • 3.變量绿贞,屬性的名稱應(yīng)包含功能與類型
UIButton *nameButton; 
@property (nonatomic, strong) UIButton *nameButton;

    1. 宏使用大寫字母油昂,用下劃線‘_’分割單詞殴玛。
#define HOME_PAGE @"";
  • 2.宏定義中如果包含表達(dá)式或變量菜循,表達(dá)式和變量應(yīng)用小括號(hào)括起來翘地。
#define MY_MIN(A, B)  ((A)>(B)?(B):(A))

常量

  • 1.單文件常量
static NSString * const kMsg = @”MSG”;
  • 2.多個(gè)文件共享常量(通知等)
.h
extern NSString * const badgeNameNotification;
.m
static NSString * const badgeNameNotification = @"badgeNameNotification";

聲明cell的重用字符

k + cell的名稱 +identifier
比如: QYHomeItemTableViewCell的標(biāo)識(shí)符
kQYHomeItemTableViewCellIdentifier

枚舉

枚舉規(guī)則:枚舉名同類名規(guī)則,加項(xiàng)目前綴债朵,大駝峰命名子眶;
枚舉值去掉前綴,大駝峰命名

typedef NS_ENUM(NSInteger, QYHomeControllerSelectType) {
        HomeControllerSelectTypeOne,
        HomeControllerSelectTypeTwo,
    };

方法

  • 1.普通方法的命名
方法使用小駝峰法命名序芦。
能反應(yīng)出這個(gè)方法是什么含義臭杰。
執(zhí)行性的方法應(yīng)該以動(dòng)詞開頭。
返回性的方法應(yīng)該以返回的內(nèi)容開頭谚中。
- (void)replaceObjectAtIndex:(NSUInteger)index withObject:(id)object;
- (NSString *)stringWithString:(NSString *)string;
  • 2.Delegate方法的命名
類的實(shí)例應(yīng)為回調(diào)方法的參數(shù)之一;
回調(diào)方法的參數(shù)只有類本身的情況渴杆,方法名要符合實(shí)際含義;
以類的名字開頭(如果回調(diào)方法有兩個(gè)以上參數(shù)的情況);
-(NSInteger)tableView:(UITableView*)tableView numberOfRowsInSection:(NSInteger)section;
-(NSInteger)numberOfSectionsInTableView:(UITableView*)tableView;

在類.m中根據(jù)不同功能代碼來進(jìn)行分類:

#pragma mark - Initialization

#pragma mark - LifeCycle

#pragma mark - override

#pragma mark - Actions

#pragma mark - Delegates

#pragma mark - Public

#pragma mark - Private

#pragma mark - Getter & Setter 

CGRect函數(shù)

推薦: 可讀性比較高
CGRect frame = self.view.frame; 
CGFloat x = CGRectGetMinX(frame); 
CGFloat y = CGRectGetMinY(frame); 
CGFloat width = CGRectGetWidth(frame); 
CGFloat height = CGRectGetHeight(frame); 

不推薦:
CGRect frame = self.view.frame;  
CGFloat x = frame.origin.x;  
CGFloat y = frame.origin.y;  
CGFloat width = frame.size.width;  
CGFloat height = frame.size.height;  

注釋

方法注釋:方法外部用option + command + /,方法內(nèi)部用//注釋。
/**
 改變?cè)嘉谋?
 @param originalString 原始文本
 */
- (NSString *)changeStringWithOriginalString:(NSString *)originalString {
    //輸入的原始文本
}

屬性宪塔,模型注釋
///設(shè)備代碼串
@property (nonatomic, copy) NSString *deviceCodeString;

持續(xù)更新磁奖。

?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末,一起剝皮案震驚了整個(gè)濱河市某筐,隨后出現(xiàn)的幾起案子比搭,更是在濱河造成了極大的恐慌,老刑警劉巖南誊,帶你破解...
    沈念sama閱讀 221,273評(píng)論 6 515
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件身诺,死亡現(xiàn)場(chǎng)離奇詭異,居然都是意外死亡抄囚,警方通過查閱死者的電腦和手機(jī)霉赡,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 94,349評(píng)論 3 398
  • 文/潘曉璐 我一進(jìn)店門,熙熙樓的掌柜王于貴愁眉苦臉地迎上來幔托,“玉大人穴亏,你說我怎么就攤上這事≈靥簦” “怎么了嗓化?”我有些...
    開封第一講書人閱讀 167,709評(píng)論 0 360
  • 文/不壞的土叔 我叫張陵,是天一觀的道長(zhǎng)谬哀。 經(jīng)常有香客問我刺覆,道長(zhǎng),這世上最難降的妖魔是什么玻粪? 我笑而不...
    開封第一講書人閱讀 59,520評(píng)論 1 296
  • 正文 為了忘掉前任隅津,我火速辦了婚禮,結(jié)果婚禮上劲室,老公的妹妹穿的比我還像新娘伦仍。我一直安慰自己,他們只是感情好很洋,可當(dāng)我...
    茶點(diǎn)故事閱讀 68,515評(píng)論 6 397
  • 文/花漫 我一把揭開白布充蓝。 她就那樣靜靜地躺著,像睡著了一般喉磁。 火紅的嫁衣襯著肌膚如雪谓苟。 梳的紋絲不亂的頭發(fā)上,一...
    開封第一講書人閱讀 52,158評(píng)論 1 308
  • 那天协怒,我揣著相機(jī)與錄音涝焙,去河邊找鬼。 笑死孕暇,一個(gè)胖子當(dāng)著我的面吹牛仑撞,可吹牛的內(nèi)容都是我干的。 我是一名探鬼主播妖滔,決...
    沈念sama閱讀 40,755評(píng)論 3 421
  • 文/蒼蘭香墨 我猛地睜開眼隧哮,長(zhǎng)吁一口氣:“原來是場(chǎng)噩夢(mèng)啊……” “哼!你這毒婦竟也來了座舍?” 一聲冷哼從身側(cè)響起沮翔,我...
    開封第一講書人閱讀 39,660評(píng)論 0 276
  • 序言:老撾萬榮一對(duì)情侶失蹤,失蹤者是張志新(化名)和其女友劉穎曲秉,沒想到半個(gè)月后采蚀,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體,經(jīng)...
    沈念sama閱讀 46,203評(píng)論 1 319
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡岸浑,尸身上長(zhǎng)有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 38,287評(píng)論 3 340
  • 正文 我和宋清朗相戀三年搏存,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片矢洲。...
    茶點(diǎn)故事閱讀 40,427評(píng)論 1 352
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡璧眠,死狀恐怖,靈堂內(nèi)的尸體忽然破棺而出读虏,到底是詐尸還是另有隱情责静,我是刑警寧澤,帶...
    沈念sama閱讀 36,122評(píng)論 5 349
  • 正文 年R本政府宣布盖桥,位于F島的核電站灾螃,受9級(jí)特大地震影響,放射性物質(zhì)發(fā)生泄漏揩徊。R本人自食惡果不足惜腰鬼,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,801評(píng)論 3 333
  • 文/蒙蒙 一嵌赠、第九天 我趴在偏房一處隱蔽的房頂上張望。 院中可真熱鬧熄赡,春花似錦姜挺、人聲如沸。這莊子的主人今日做“春日...
    開封第一講書人閱讀 32,272評(píng)論 0 23
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽。三九已至拧篮,卻和暖如春词渤,著一層夾襖步出監(jiān)牢的瞬間,已是汗流浹背串绩。 一陣腳步聲響...
    開封第一講書人閱讀 33,393評(píng)論 1 272
  • 我被黑心中介騙來泰國(guó)打工缺虐, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留,地道東北人礁凡。 一個(gè)月前我還...
    沈念sama閱讀 48,808評(píng)論 3 376
  • 正文 我出身青樓志笼,卻偏偏與公主長(zhǎng)得像,于是被迫代替她去往敵國(guó)和親把篓。 傳聞我的和親對(duì)象是個(gè)殘疾皇子纫溃,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 45,440評(píng)論 2 359

推薦閱讀更多精彩內(nèi)容

  • 此文整理是為了方便一些朋友規(guī)范代碼適用于新人(ps:如果你已經(jīng)很規(guī)范的執(zhí)行了那么可以跳過此內(nèi)容)這樣以來如果有...
    無灃閱讀 382評(píng)論 0 1
  • 前言 說是前言,其實(shí)也是本文誕生的目的韧掩。隨著公司業(yè)務(wù)的不斷增加紊浩,功能的快速迭代,app的業(yè)務(wù)線越來越多疗锐,代碼體積變...
    夢(mèng)翔_d674閱讀 1,495評(píng)論 0 2
  • 前言 說是前言坊谁,其實(shí)也是本文誕生的目的。隨著公司業(yè)務(wù)的不斷增加滑臊,功能的快速迭代口芍,app的業(yè)務(wù)線越來越多,代碼體積變...
    Yealink閱讀 5,330評(píng)論 0 13
  • 前言說是前言雇卷,其實(shí)也是本文誕生的目的鬓椭。隨著公司業(yè)務(wù)的不斷增加,功能的快速迭代关划,app的業(yè)務(wù)線越來越多小染,代碼體積變得...
    Mr_yinwei閱讀 643評(píng)論 0 0
  • 約定 在我看來,開發(fā)規(guī)范像是一條可供參考的標(biāo)準(zhǔn)線贮折。不同開發(fā)者可以根據(jù)這條標(biāo)準(zhǔn)線來規(guī)范自己的開發(fā)行為裤翩,尤其是在大的項(xiàng)...
    xxzsxxzs閱讀 625評(píng)論 1 0