前言
objective-c
蘋果推崇的編碼規範核心思想是:可讀性高。不隨便使用縮寫,分段式長函式名都是基於此思想。在實際編碼過程中,隨時以此思想為準則。
一、命名
1
.清晰,無歧義。
insertobject: atindex:
(好)
insert:at:
(不清晰)
方法名稱必須明確表達出該方法的用途
,駝峰名中第一段須表示出該方法的主要動作
或者宿主物件
,例如可採用這種方式
:btnpressed,
使用第一段
btn
用於表示這是乙個按鈕方法。
2
.不要隨便縮寫名稱,即使很長也要拼寫完整。
setbackgroundcolor:
(好)
setbkgcolor:
(不清晰)
可以使用的常見縮寫
alt alternate.
calc calculate.
func function.
horiz horizontal.
info information.
max maximum.
min minimum.
msg message.
rect rectangle.
temp temporary.
vert vertical.
btn button
dest destination
3
.字首。
在實際編碼中,命名
class,protocol, structure
,typedef
等時,要使用字首。命名方法時,不使用字首。因為方法處於所在類的命名空間中。 例:
qtxbaseviewcontroller
,而此類的中的方法不需要再加字首
4
.書寫規範,使用
camel
命名法。
正常情況下,方法名小寫第乙個單詞的首字元,大寫後續所有單詞的首字元。
如:fileexistsatpath:isdirectory:
5
.類擴充套件(
category
)。
標頭檔案的命名形式為:原類名
+「additions」。
如:uiimageview+afnetworking.h
6
.子類命名規範。
字尾必須是父類的型別: 例如
uitableview
的子類,命名為
*tableview
。以便於識別型別。
如果是nsobject
型別的,需要指明本類的作用(如,
manager
,model等)
7
.**命名。
用於通知委託物件操作即將發生或已經發生的方法名中要使用
did或
will
用於詢問委託物件可否執行某操作的方法名中使用
should
二、格式
1.不同的方法間要空1行。
2.條件,迴圈,選擇語句,整個語句結束,需要空1行。
3.大的類別不同要空2行。
4.星號(
*)要靠近變數,不靠近型別。 如
uicolor *textcolor; 5
.注釋應與其描述的**相近
,對**的注釋應放在其上方或右方
(對單條語句的注釋)。
三、其他細節
1.對類中的不同方法進行分組,用
#pragma mark
來區分。 2
.比較時把常量放前面可以避免錯誤,不要用
if(aintvalue==255){}
,而用if(255==aintvalue){}
,避免漏掉乙個「=
」,而變成賦值。 3
.所有返回
bool
型別的值必須為
yes或no,
不能返回1,
0或其他。 4
.函式體即使只有一行**也要加大括號。 5
.常用的巨集要放到
*-prefix.pch
檔案中。 6
.備忘、標記、
todo
使用這樣的格式:
// todo
:內容
四、**工程結構
工程結構的規範原則是模組化,快速定位文件和資源。特制定以下規則。
第一級,分為以下兩個大組
系統檔案
資源檔案(
resources
)
**檔案(
classes
)
1.系統檔案中
一些幾個系統檔案.如
main.m
***-info.plist
***-prefix.pch
2.資源檔案中
resources
—images
(icons, defaults, others(
此資料夾中放置所需要,並分組))
—localizations
(語言包)
—databases(可選)
—audios 3
.**檔案中
classes —
(各模組資料夾,放置某模組專屬的
view
,model
,controller等)
— thirdparty(
放置第三方庫
,必要時需要再進行分類放置)
— publicui(
放置自身的公共ui庫
,如qtxloadingview)
— publiclib(
放置自身的公共功能庫, 如
qtxurlmanager)
IOS編碼規範(命名規範)
一.命名規則 命名總則 1.使 用駝峰法命名,命名清晰明了,要做到 自描述,不能省略,部分cocoa通 用縮略詞能夠縮寫。objective c不 支援名字命名空間,所以某些命名要加項 目前綴區別。需要加字首的地 方 全域性變數,類名,全域性函式,category 每個類別,函式都必須新增字首 3....
ios 編碼規範
正文 格式化 指標 號的位置 如 nsstring varname 空格 vs tabs 只允許使用空格,將編輯器設定為1個 tab 2 個字元縮排 每行的長度 protocals 待完善 初始化 在初始化方法中,不要將變數初始化為 0 或 nil 那是多餘的 記憶體中所有的新建立的物件 isa除外...
iOS編碼規範
前言 objective c 蘋果推崇的編碼規範核心思想是 可讀性高。不隨便使用縮寫,分段式長函式名都是基於此思想。在實際編碼過程中,隨時以此思想為準則。一 命名 1 清晰,無歧義 如 insertobject atindex 好 insert at 不清晰 方法名稱必須明確表達出該方法的用途 駝峰...