目錄結(jié)構(gòu)確實(shí)非常重要,面試官這么問他,無疑是想窺探他的開發(fā)經(jīng)驗(yàn)。清晰的目錄結(jié)構(gòu),可讓人一眼明白相應(yīng)的業(yè)務(wù)和職能,這也能體現(xiàn)開發(fā)者的經(jīng)驗(yàn)和架構(gòu)水平。
目前,我接觸過的項(xiàng)目中,比較常規(guī)的兩種結(jié)構(gòu):
1.主目錄按照業(yè)務(wù)分類,內(nèi)目錄按照模塊分類(主目錄按照MVC架構(gòu)分類,內(nèi)部根據(jù)項(xiàng)目模塊分類)
優(yōu)點(diǎn):相對比較快定位對應(yīng)的業(yè)務(wù)。
缺點(diǎn):模塊相關(guān)類太過分散,需要來回切換尋找文件,不方便開發(fā)。
2.主目錄按照模塊分類,內(nèi)目錄按照業(yè)務(wù)分類
優(yōu)點(diǎn):對模塊的類集中化,方便管理與開發(fā)。
缺點(diǎn):當(dāng)幾個(gè)模塊共用一些類時(shí),不太好歸類。
假設(shè)對簡書iOS應(yīng)用目錄分類(非官方):
1.主目錄按照業(yè)務(wù)分類,內(nèi)目錄按照模塊分類

2.主目錄按照模塊分類,內(nèi)目錄按照業(yè)務(wù)分類

注意: 以上兩種分類不是絕對的,具體還得按照業(yè)務(wù)需求去歸類。如果公司多項(xiàng)目的話(指外包公司,哈~),可以嘗試按照自己的邏輯去歸類,或可以多觀察下身邊大牛搭建的項(xiàng)目,會(huì)吸取到其中的奧秘。代碼也一樣,多看看大神寫的,甚至可以直接模仿大神的代碼風(fēng)格,別人也會(huì)把你當(dāng)做大神!
ps:有評論說,目錄備注中文名感覺就lo了。確實(shí)開發(fā)中,一些非常有經(jīng)驗(yàn)的程序員,不會(huì)這么干,甚至在代碼中也很少中文注釋。但個(gè)人覺得,普通或中高級(jí)工程師真滴很有必要多些注釋,由于經(jīng)驗(yàn)少,變量和方法名可能都命名不好,很多用googl翻譯直譯,甚至自己到審查代碼時(shí)都不能直譯出來。多謝注釋好處就是就算你看不懂我寫的代碼,也一定能讓你知道這是干什么滴(萬不得己時(shí),哈~),方便自己也方便別人!最后,目錄沒有真正的好壞之分,只要適用于自己的業(yè)務(wù),就是好的目錄!