ios 之閑談項(xiàng)目搭建結(jié)構(gòu)以及代碼規(guī)范

最近公司換了個(gè)產(chǎn)品經(jīng)理,該公司以產(chǎn)品線為主,無項(xiàng)目經(jīng)理肢础,無疑便是產(chǎn)品當(dāng)?shù)阑顾ǎ^新官上任三把火,推翻之前的迭代了3次的項(xiàng)目传轰,故辛辛苦苦大半年剩盒,一夜又回到了解放前,用粗俗的話來說就是在老板面前會(huì)拍馬屁慨蛙,而且還能拍的一套一套的辽聊,馬屁成精的他成為boss身邊的紅人,那嘚瑟的呦 F谄丁8摇!誰懟了他通砍,那就不得了凤覆!實(shí)在是無力再吐槽了牧愁。
而作為程序猿的我們,代碼質(zhì)量以及效率才是我們?cè)撟非蟮牧模欢嗾f了刑峡,上demo才是硬道理E骸O跖 椿疗!

IMG_0440.JPG

<一>項(xiàng)目搭建

首先先看

12345.gif

AppDelegate

放的是AppDelegate.h(.m)文件,是整個(gè)應(yīng)用的入口文件膜蠢,所以單獨(dú)拿出來堪藐。

Base

工程主體類, 日常大部分開發(fā)代碼均在這里,又細(xì)分了好多次級(jí)目錄。
Base( 基類 (整個(gè)框架的基類))包括:

  • ControllerView
    • BaseNavViewController(通過appearance統(tǒng)一設(shè)置nav的相關(guān)設(shè)置)
    • BaseTabBarViewController(設(shè)置TabBarVC)
    • BaseUIViewController(主要分三塊需子類重寫:setupNav 狡蝶,loadDataFromNetwork,setupUI)
    • BaseWebViewController(加載網(wǎng)頁)
    • BaseTableViewController(設(shè)置tableView和刷新)
  • Model公共BaseModel (將第三方的進(jìn)行封裝庶橱,子類繼承于BaseModel)
  • Views公共View (封裝的一些常用的View)

Classes

以TabBar名字命名(一般是大概在3贮勃,4贪惹,5個(gè)左右,主要看產(chǎn)品需求)寂嘉,這里只拿其中一例作為說明奏瞬。

例如其中首頁部分:


Snip20170720_18.png

123456.gif

補(bǔ)充
作為一個(gè)程序猿不管是剛?cè)腴T也好,是大神也罷泉孩,代碼規(guī)范是一定有的硼端,并讓這種規(guī)范成為你的習(xí)慣,這樣有利于其他同事查看寓搬,也方便自己看珍昨,別自己下次看的時(shí)候,自己都看不懂了,那就??了镣典。

Public

主要放一些通用的東西兔毙,包括公用的cell和控制器、數(shù)據(jù)庫等等

Expand

  • Category(UIKit和UI)
  • Macros(所有的接口(ConstUrl)兄春、枚舉以及通知名稱(Const)澎剥、配置友盟賬號(hào)、主題顏色赶舆、打印哑姚、環(huán)境(開發(fā)、測試芜茵、預(yù)發(fā)布叙量、正式) Macros)
  • Network(網(wǎng)絡(luò)請(qǐng)求包括配置公共參數(shù))
  • Tools(MD5加密等等)

SDKFile

第三方的類庫/SDK(Wechatpay/Alipay/UMSocial等等)

Vender

第三方的類(Reachability/FLAnimatedImage/SDCycleScrollView等等)

Resourse

主要包括(Image和plist文件)

Supporting Files

放XX.pch文件

補(bǔ)充
之所以把所有的接口寫都在ConstUrl中,是因?yàn)橹俺赃^這么一次虧九串,后臺(tái)之前很亂宛乃,之前都是以.方式進(jìn)行拼接,后面改成以/的方式進(jìn)行拼接蒸辆。
例如

之前
doindex.getIndexlbt
之后
index/getIndexlbt

<二>代碼規(guī)范

  • 命名規(guī)范(駝峰式)

  • Url統(tǒng)一命名規(guī)范
    ConstUrl.h

UIKIT_EXTERN NSString  * const kGetActivityInfoUrl;

ConstUrl.m

NSString  * const kGetActivityInfoUrl = @"activity/getActivityInfo";
  • 枚舉和通知統(tǒng)一在Const中寫
    Const.h
/********************通知**************/
//登陸成功
UIKIT_EXTERN NSString  * const kLoginSuccessNotification;

/*----------------------------------枚舉----------------------------------*/
//國家 0中國  1美國 2泰國  3越南
typedef NS_ENUM(NSUInteger,LYCountryType){
    LYCountryTypeChina = 0, //中國
    LYCountryTypeUSA = 1, //美國
    LYCountryTypeThailand = 2, //泰國
    LYCountryTypeVietnam = 3, //越南
    
    
};

Const.m

/********************通知**************/
//登陸成功
NSString  * const kLoginSuccessNotification = @"kLoginSuccessNotification";

最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
  • 序言:七十年代末征炼,一起剝皮案震驚了整個(gè)濱河市,隨后出現(xiàn)的幾起案子躬贡,更是在濱河造成了極大的恐慌谆奥,老刑警劉巖,帶你破解...
    沈念sama閱讀 216,843評(píng)論 6 502
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件拂玻,死亡現(xiàn)場離奇詭異酸些,居然都是意外死亡,警方通過查閱死者的電腦和手機(jī)檐蚜,發(fā)現(xiàn)死者居然都...
    沈念sama閱讀 92,538評(píng)論 3 392
  • 文/潘曉璐 我一進(jìn)店門魄懂,熙熙樓的掌柜王于貴愁眉苦臉地迎上來,“玉大人闯第,你說我怎么就攤上這事市栗。” “怎么了咳短?”我有些...
    開封第一講書人閱讀 163,187評(píng)論 0 353
  • 文/不壞的土叔 我叫張陵填帽,是天一觀的道長。 經(jīng)常有香客問我咙好,道長篡腌,這世上最難降的妖魔是什么? 我笑而不...
    開封第一講書人閱讀 58,264評(píng)論 1 292
  • 正文 為了忘掉前任勾效,我火速辦了婚禮嘹悼,結(jié)果婚禮上叛甫,老公的妹妹穿的比我還像新娘。我一直安慰自己杨伙,他們只是感情好合溺,可當(dāng)我...
    茶點(diǎn)故事閱讀 67,289評(píng)論 6 390
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著缀台,像睡著了一般棠赛。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上膛腐,一...
    開封第一講書人閱讀 51,231評(píng)論 1 299
  • 那天睛约,我揣著相機(jī)與錄音,去河邊找鬼哲身。 笑死辩涝,一個(gè)胖子當(dāng)著我的面吹牛,可吹牛的內(nèi)容都是我干的勘天。 我是一名探鬼主播怔揩,決...
    沈念sama閱讀 40,116評(píng)論 3 418
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼脯丝!你這毒婦竟也來了商膊?” 一聲冷哼從身側(cè)響起,我...
    開封第一講書人閱讀 38,945評(píng)論 0 275
  • 序言:老撾萬榮一對(duì)情侶失蹤宠进,失蹤者是張志新(化名)和其女友劉穎晕拆,沒想到半個(gè)月后,有當(dāng)?shù)厝嗽跇淞掷锇l(fā)現(xiàn)了一具尸體材蹬,經(jīng)...
    沈念sama閱讀 45,367評(píng)論 1 313
  • 正文 獨(dú)居荒郊野嶺守林人離奇死亡实幕,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內(nèi)容為張勛視角 年9月15日...
    茶點(diǎn)故事閱讀 37,581評(píng)論 2 333
  • 正文 我和宋清朗相戀三年,在試婚紗的時(shí)候發(fā)現(xiàn)自己被綠了堤器。 大學(xué)時(shí)的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片昆庇。...
    茶點(diǎn)故事閱讀 39,754評(píng)論 1 348
  • 序言:一個(gè)原本活蹦亂跳的男人離奇死亡,死狀恐怖闸溃,靈堂內(nèi)的尸體忽然破棺而出整吆,到底是詐尸還是另有隱情,我是刑警寧澤圈暗,帶...
    沈念sama閱讀 35,458評(píng)論 5 344
  • 正文 年R本政府宣布掂为,位于F島的核電站,受9級(jí)特大地震影響员串,放射性物質(zhì)發(fā)生泄漏。R本人自食惡果不足惜昼扛,卻給世界環(huán)境...
    茶點(diǎn)故事閱讀 41,068評(píng)論 3 327
  • 文/蒙蒙 一寸齐、第九天 我趴在偏房一處隱蔽的房頂上張望欲诺。 院中可真熱鬧,春花似錦渺鹦、人聲如沸扰法。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,692評(píng)論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽塞颁。三九已至,卻和暖如春吸耿,著一層夾襖步出監(jiān)牢的瞬間祠锣,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,842評(píng)論 1 269
  • 我被黑心中介騙來泰國打工咽安, 沒想到剛下飛機(jī)就差點(diǎn)兒被人妖公主榨干…… 1. 我叫王不留伴网,地道東北人。 一個(gè)月前我還...
    沈念sama閱讀 47,797評(píng)論 2 369
  • 正文 我出身青樓妆棒,卻偏偏與公主長得像澡腾,于是被迫代替她去往敵國和親。 傳聞我的和親對(duì)象是個(gè)殘疾皇子糕珊,可洞房花燭夜當(dāng)晚...
    茶點(diǎn)故事閱讀 44,654評(píng)論 2 354

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

  • 代碼格式 使用空格而不是制表符 Tab 不要在工程里使用 Tab 鍵动分,使用空格來進(jìn)行縮進(jìn)。在 Xcode > Pr...
    small_Sun閱讀 1,360評(píng)論 1 3
  • Android 自定義View的各種姿勢1 Activity的顯示之ViewRootImpl詳解 Activity...
    passiontim閱讀 172,085評(píng)論 25 707
  • iOS編程規(guī)范0規(guī)范 0.1前言 為??高產(chǎn)品代碼質(zhì)量,指導(dǎo)廣大軟件開發(fā)人員編寫出簡潔红选、可維護(hù)刺啦、可靠、可 測試纠脾、高效...
    iOS行者閱讀 4,456評(píng)論 21 35
  • 【第一人稱:我】日語企鵝學(xué)習(xí)裙 533367846 私(わたし) 發(fā)音:wa ta shi 仆(ぼく)[年幼男性用...
    dc3c12c58779閱讀 1,266評(píng)論 0 0
  • 記得樓道里初次相遇 你烏黑的秀發(fā)垂到腰肌 輕盈的腳步穿越人群 微風(fēng)擺弄你的秀發(fā) 它輕輕地在我臉上飄動(dòng) 擾亂我的春心...
    蓮花君子閱讀 236評(píng)論 4 3