拆分代碼一般對可維護性是有好處的造寝,但要注意這些事情:
1.從理念上講家妆,拆的是邏輯而不是文件珊豹,如果你把邏輯拆分理清了簸呈,拆不拆文件的重要性并不大。如果對可維護性的提升是100%店茶,邏輯的部分至少要占90%蜕便。
2.寫Angular應(yīng)用,最重要的事情是分層贩幻。很多人寫不好Angular代碼轿腺,原因就是沒有分層的觀念两嘴,所以癥狀就是controller又大又亂。簡單的原則是:
· 遠(yuǎn)程請求族壳,數(shù)據(jù)緩存等等一律放進service
· 不得以而產(chǎn)生的DOM操作憔辫,一律放進directive(在Angular應(yīng)用里,需要你手動去操作DOM的場景其實是少了)
·數(shù)據(jù)的格式化仿荆,一律做成filter
·剩下的東西才是controller應(yīng)該做的事情贰您,在這里,又有一些事情要考慮:
1.視圖是需要分塊拢操、分層的锦亦,如果你控制能力不足,最好把controller和視圖塊按照一對一的關(guān)系維護令境,每塊獨都能跑杠园,然后拼起來
2.嵌套的視圖,作用域的關(guān)系需要好好考慮
3.有一些東西并不應(yīng)當(dāng)在視圖分塊(姑且稱為組件)的樹狀結(jié)構(gòu)里舔庶,而是獨立在外抛蚁,跟這部分東西的交互,應(yīng)當(dāng)視情況使用service來通信栖茉,不要嘗試在$scope