一、基本目錄結(jié)構(gòu):
1消恍、FCKit:主要包含(FCBaseCell岂昭、動畫Kit、Category等)
2狠怨、FCBase:主要包含(FCBaseModel约啊、BaseVC、Tool等)
3佣赖、FCNetWork:主要包含(FCBaseRequest恰矩、等)
4、ThirdParts:(第三方的源碼)-- tip: 源碼少的憎蛤,需要自定義的可以用這種方式添加枢里,否則用Pod方式。
5、APPDelegate:(APPDelegate和相關(guān)類目)
6栏豺、具體模塊的文件夾:(Home彬碱、PersonCenter、More等)
二奥洼、基本編碼規(guī)范:(好的命名是基礎(chǔ)巷疼,不能因此而省略注釋~)
1、新建UIViewController灵奖、UITableViewCell嚼沿、Model都要繼承父類,便于引入頭文件瓷患、公用通用的方法骡尽。命名例子:HomeVC、HomeCell擅编、HomeModel
2攀细、方法、屬性爱态、宏的(命名谭贪、空格、換行锦担、注釋)例子:
方法的例子:(注釋快捷鍵是:command+option+/),"+"后面有個(gè)空格俭识,后面的”{“ 前面有個(gè)空格并且不要換行
/**
* 判斷字符串是否含表情
*
* @param string 原有字符串
*
* @return 返回是否有標(biāo)題
*/
+ (BOOL)stringContainsEmoji:(NSString *)string {
}
屬性的例子:(特別需要提示的注釋可以用"http:///"在上面,否則可以直接寫后面洞渔,盡量保持注釋對齊)
/// 用戶id
@property (nonatomic, strong) NSString *userId;
@property (nonatomic, strong) NSString *urlString; // 網(wǎng)絡(luò)的url
@property (nonatomic, strong) NSString *loadHTMLURL; // 本地的url
宏的例子:(按類型分類:UtilMacro.h套媚、SizeMacro.h、NotificationMacro.h磁椒、ThirdMacro.h等)
1凑阶、尺寸相關(guān)的宏一般用全大寫,下劃線分割
/// 主屏的寬
#define SCREEN_WIDTH [[UIScreen mainScreen] bounds].size.width
2、UtilMacro.h相關(guān)的一般是”k“開頭衷快,下劃線分割,可讀性強(qiáng)
#define kAnimation_Time 0.3f
2姨俩、ThridMacro.h相關(guān)的一般是”k“開頭蘸拔,可讀性強(qiáng)
#define kUmengKey @"aaaaaaaaa" // 友盟key
#define kBuglyId @"aaaaaddd" // Bugly的id
循環(huán)、判斷的例子:(注意空格和換行)
// 判斷語句环葵,注意空格调窍、換行
if (self) {
} else {
}
// 循環(huán)語句,注意空格张遭、換行
for (NSString *itemStr in array) {
}
Tip: 上面是最常用的規(guī)范邓萨,也是最簡單的規(guī)范,發(fā)現(xiàn)好多開發(fā)者對最基本的規(guī)范都不遵守。導(dǎo)致代碼很亂缔恳,看著很不爽宝剖。(感覺上面的規(guī)范只要遵守好,不至于代碼很亂)
以后有機(jī)會了歉甚,可能會增加些更多的代碼規(guī)范万细。(有時(shí)候過于復(fù)雜的代碼規(guī)范,可能會起到反作用)過猶不及~
長期維護(hù)的iOS開源項(xiàng)目:
https://github.com/zjjzmw1/XM_OC_TOOL