最近有師弟面試iOS開(kāi)發(fā)磕蛇,他很吃驚地跟我說(shuō)音羞,面試官竟然問(wèn)他怎么分目錄結(jié)構(gòu)的囱桨,還具體問(wèn)每個(gè)子目錄的文件名。
目錄結(jié)構(gòu)確實(shí)非常重要嗅绰,面試官這么問(wèn)他舍肠,無(wú)疑是想窺探他的開(kāi)發(fā)經(jīng)驗(yàn)。清晰的目錄結(jié)構(gòu)窘面,可讓人一眼明白相應(yīng)的業(yè)務(wù)和職能翠语,這也能體現(xiàn)開(kāi)發(fā)者的經(jīng)驗(yàn)和架構(gòu)水平。
目前财边,我接觸過(guò)的項(xiàng)目中肌括,比較常規(guī)的兩種結(jié)構(gòu):
1.主目錄按照業(yè)務(wù)分類(lèi),內(nèi)目錄按照模塊分類(lèi)(主目錄按照MVC架構(gòu)分類(lèi)酣难,內(nèi)部根據(jù)項(xiàng)目模塊分類(lèi))
優(yōu)點(diǎn)
:相對(duì)比較快定位對(duì)應(yīng)的業(yè)務(wù)谍夭。
缺點(diǎn)
:模塊相關(guān)類(lèi)太過(guò)分散,需要來(lái)回切換尋找文件憨募,不方便開(kāi)發(fā)紧索。
2.主目錄按照模塊分類(lèi),內(nèi)目錄按照業(yè)務(wù)分類(lèi)
優(yōu)點(diǎn)
:對(duì)模塊的類(lèi)集中化菜谣,方便管理與開(kāi)發(fā)齐板。
缺點(diǎn)
:當(dāng)幾個(gè)模塊共用一些類(lèi)時(shí),不太好歸類(lèi)。
假設(shè)對(duì)簡(jiǎn)書(shū)iOS應(yīng)用目錄分類(lèi)(非官方):
- 1.主目錄按照業(yè)務(wù)分類(lèi)甘磨,內(nèi)目錄按照模塊分類(lèi)
- 2.主目錄按照模塊分類(lèi)橡羞,內(nèi)目錄按照業(yè)務(wù)分類(lèi)
注意
: 以上?兩種分類(lèi)不是絕對(duì)的,具體還得按照業(yè)務(wù)需求去歸類(lèi)济舆。如果公司多項(xiàng)目的話(huà)(指外包公司卿泽,哈~),可以嘗試按照自己的邏輯去歸類(lèi)滋觉,或可以多觀察下身邊大牛搭建的項(xiàng)目签夭,會(huì)吸取到其中的奧秘。代碼也一樣椎侠,多看看大神寫(xiě)的第租,甚至可以直接模仿大神的代碼風(fēng)格,別人也會(huì)把你當(dāng)做大神我纪!
ps
:有評(píng)論說(shuō)慎宾,目錄備注中文名感覺(jué)就lo了。確實(shí)開(kāi)發(fā)中浅悉,一些非常有經(jīng)驗(yàn)的程序員趟据,不會(huì)這么干,甚至在代碼中也很少中文注釋术健。但個(gè)人覺(jué)得汹碱,普通或中高級(jí)工程師真滴很有必要多些注釋?zhuān)捎诮?jīng)驗(yàn)少,變量和方法名可能都命名不好荞估,很多用googl翻譯直譯咳促,甚至自己到審查代碼時(shí)都不能直譯出來(lái)。多謝注釋好處就是就算你看不懂我寫(xiě)的代碼勘伺,也一定能讓你知道這是干什么滴(萬(wàn)不得己時(shí)等缀,哈~),方便自己也方便別人娇昙!最后尺迂,目錄沒(méi)有真正的好壞之分,只要適用于自己的業(yè)務(wù)冒掌,就是好的目錄噪裕!
文章同步到微信公眾號(hào):hans_iOS
有疑問(wèn)可以在公眾號(hào)里直接發(fā)