最近有師弟面試iOS開發,他很吃驚地跟我說,面試官居然問他怎麼分目錄結構的,還具體問每一個子目錄的文件名。程序員
目錄結構確實很是重要,面試官這麼問他,無疑是想窺探他的開發經驗。清晰的目錄結構,可以讓人一眼明白相應的業務和職能,這也能體現開發者的經驗和架構水平。面試
目前,我接觸過的項目中,比較常規的兩種結構:
1.主目錄按照業務分類,內目錄按照模塊分類(主目錄按照MVC架構分類,內部根據項目模塊分類)架構
優勢
:相對比較快定位對應的業務。缺點
:模塊相關類太過度散,須要來回切換尋找文件,不方便開發。ide
2.主目錄按照模塊分類,內目錄按照業務分類翻譯
優勢
:對模塊的類集中化,方便管理與開發。缺點
:當幾個模塊共用一些類時,不太好歸類。code
假設對簡書iOS應用目錄分類(非官方):對象
注意
: 以上兩種分類不是絕對的,具體還得按照業務需求去歸類。若是公司多項目的話(指外包公司,哈~),能夠嘗試按照本身的邏輯去歸類,或能夠多觀察下身邊大牛搭建的項目,會吸收到其中的奧祕。代碼也同樣,多看看大神寫的,甚至能夠直接模仿大神的代碼風格,別人也會把你當作大神!ps
:有評論說,目錄備註中文名感受就lo了。確實開發中,一些很是有經驗的程序員,不會這麼幹,甚至在代碼中也不多中文註釋。但我的以爲,普通或中高級工程師真滴頗有必要多些註釋,因爲經驗少,變量和方法名可能都命名很差,不少用googl翻譯直譯,甚至本身到審查代碼時都不能直譯出來。多謝註釋好處就是就算你看不懂我寫的代碼,也必定能讓你知道這是幹什麼滴(萬不得己時,哈~),方便本身也方便別人!最後,目錄沒有真正的好壞之分,只要適用於本身的業務,就是好的目錄!blog