一款優質的軟件,其中的一個重要元素就是要維護方便。這樣一旦軟件出了問題能快速定位,需要修改時能快速修改,并且在一定程度上不會說一修改就一堆bug,這就是我認為的可維護性,當然后面要說到的切入性其實也算是維護性,不過為什么單獨放出來在切入性時我會詳細說明。中培偉業軟件方面的專家劉老師認為,要想確保一款軟件維護方便,應該做到以下幾點:
1.代碼規范
一份代碼如果沒有遵循任何規范,那么我相信它的可維護性是很差的,就算是你一個人做出來的,估計過了幾個月去修改的時候也會是一個重要問題。
2.框架穩定性
很多時候很多開源框架剛出來的時候,也許功能十分強大,但是畢竟剛出來,沒有經過充分的測試,所以還是會或多或少存在一個不穩定因子,所以建議在選擇框架時盡量選擇成熟穩定的框架,哪怕功能和性能的確比不上剛出來的框架。當然這也不是說完全不用剛出來的框架,畢竟都不用,那么它也永遠成熟不了,至于到底用不用和怎么用,本文的框架選擇和使用篇也會詳細分析說明
3.封裝
劉老師指出,封裝這個在Android中是經常使用的,簡單來說就是把一些常用的、通用的東西進行一個封裝,通過統一入口進行調用,這樣出問題就只需要修改一個地方,就能全部修改過來。同時封裝也要注意一些常見的坑,比如我曾經就踩過的context坑,當時封裝了一個UIUtils(主要是針對UI相關的工具類),因為很多方法都要使用context,所以直接application傳進去,保存了,所有方法都不用傳 。
context,但是這樣卻出了一個bug,那就是有些操作用application的context是有問題的。當然這種還比較好處理,但是如果因為封裝導致內存泄露,這就難以查找了,比如你傳入了一個activity的context,但是activity已經關閉了,但是因為你封裝的方法里面還在繼續使用這個context,所以activity的內存也是不會釋放的,所以封裝的時候也一定要注意,不要給自己挖坑
4.耦合
針對耦合這個東西相信很多文章都說過了,如何解耦合,不過個人感覺解耦合這個東西也要適度,不要因為解決一點耦合,花了大量的代碼,浪費了大量的性能,所以解耦合這個東西就一定要把握這個度,過度設計是有問題的設計。