原文http://www.reqianduan.com/1722.html
應用程序結構的LIFT準則
LIFT
[Style Y140]
-
構建一個可以快速定位(
L
ocate)代碼、一目瞭然地識別(I
dentify)代碼、擁有一個平直(F
lattest)的結構、儘量(T
ry)堅持DRY(Don’t Repeat Yourself)的應用程序,其結構應該遵循這4項基本準則。爲什麼是LIFT?: 提供一個有良好擴展的結構,並且是模塊化的,更快的找到代碼能夠幫助開發者提高效率。另一種檢查你的app結構的方法就是問你自己:你能多塊地打開涉及到一個功能的所有相關文件並開始工作?
當我發現我的的代碼結構很噁心的時候,我就重新看看LIFT準則。
- 輕鬆定位代碼(L)
- 一眼識別代碼(I)
- 平直的代碼結構(層級不要太多)(F)
- 儘量保持不要寫重複代碼(T)
Locate
[Style Y141]
-
更直觀、更簡單、更快捷地定位代碼
爲什麼?:我發現這對於一個項目是非常重要的,如果一個團隊不能快速找到他們需要工作的文件,這將不能使團隊足夠高效地工作,那麼這個代碼結構就得改變。你可能不知道文件名或是相關的文件放在了哪裏,那麼就把他們放在最直觀的地方,放在一起會節省大量的時間。下面是一個參考目錄結構。
/bower_components /client /app /avengers /blocks /exception /logger /core /dashboard /data /layout /widgets /content index.html .bower.json
Identify
[Style Y142]
-
當你看到一個文件時你應該能夠立即知道它包含了什麼、代表了什麼。
爲什麼?:你花費更少的時間來了解代碼代表了什麼,並且變得更加高效。如果這意味着你需要更長的名字,那麼就這麼幹吧。文件名一定要具有描述性,保持和文件內容互爲一體。避免文件中有多個controller,多個service,甚至是混合的。
Flat
[Style Y143]
-
儘可能長時間地保持一個平直的文件夾結構,如果你的文件夾層級超過7+,那麼就開始考慮分離。
爲什麼?:沒有誰想在一個7級文件夾中尋找一個文件,你可以考慮一下網頁導航欄有那麼多層。文件夾結構沒有硬性規則,但是當一個文件夾下的文件有7-10個,那麼就是時候創建子文件夾了,文件夾的層級一定要把握好。一直使用一個平直的結構,直到確實有必要(幫助其它的LIFT)創建一個新的文件夾。
T-DRY(儘量堅持DRY)
[Style Y144]
-
堅持DRY,但是不要瘋了一樣的做卻犧牲了可讀性。
爲什麼?:保持DRY很重要,但是如果犧牲了其它LIFT,那麼它就沒那麼重要了,這就是爲什麼說盡量堅持DRY。