乙個方法只做一件事,且僅僅只做一件事,使乙個方法成為最小的乙個單元。
這樣能提高方法的原子行(不可再分),提高方法的靈活性。如果乙個方法中包含了多個
功能,且多個功能相互依賴,這樣提高了**的耦合度,不利於維護。
乙個方法具有多個功能,別人在使用這個方法時,僅僅只想用其中的乙個功能,也就是
一部分**。然而還不能直接呼叫,因為方法的引數上哪兒弄去?其它功能要用的引數和我
需要用的那個功能要用的引數都在這個方法的引數列表裡。怎麼辦,把那段**抽出來,修改
修改,封裝成我能用的乙個方法,總不能去修改別人的勞動成果吧。這樣一來,同樣的乙個功
能實現就寫了兩處**。
所以乙個方法,我們只做一件事,當我們需要完成乙個大的功能時,就將乙個大的功能
拆分成若干個小的方法。然後在乙個方法中處理「業務邏輯」並呼叫寫好的「功能性」方法。
這樣一來,如果另乙個人要使用這個功能,僅僅只需要寫他自己的「業務邏輯」方法,在他的
業務邏輯方法中對「功能性方法」進行呼叫。這樣一來,方法即使出錯了,也可以快速的定位。
一般來說,乙個功能性的方法寫完就要進行反覆的測試,當你的程式中呼叫了這個方法,而報錯
了,你說是你業務邏輯出錯了還是「功能性方法」出錯了呢?如果我們把乙個方法寫的複雜,即使
出錯了也很難定位,是我們呼叫這個方法時,該方法又呼叫了其它方法,又做了其它事,這找起
錯來豈不要一層層定位,麻煩~~。
使乙個方法僅僅只做一件事,這樣一來**的耦合度降低了,可讀性提高了,維護時效率
也高了。
string,array的屬性和方法簡單一覽
array 屬性方法一覽 array.reverse 陣列反向排序,變成新陣列。array.sort 把陣列按字元排序,變成新陣列。s array.push str1 str2 從後面新增陣列,s為新增記錄 s array.pop 從後面刪除陣列,s為被刪記錄 s array.shift 從前面刪除...
string,array的屬性和方法簡單一覽
array.reverse 陣列反向排序,變成新陣列。array.sort 把陣列按字元排序,變成新陣列。s array.push str1 str2 從後面新增陣列,s為新增記錄 s array.pop 從後面刪除陣列,s為被刪記錄 s array.shift 從前面刪除陣列,s為被刪記錄 s a...
Vue雙向繫結原理(我盡量寫的。簡潔)
先問自己兩個問題 使用object.defineproperty 監聽物件屬性的改變 2.當資料發生改變後,vue是如何知道 通知哪些 人 介面發生重新整理呢 張三,李四,王五 發布訂閱者模式 張三 李四 王五 這裡假設他們分別對應這三個message vue 第一步肯定是建立vue例項。注意這裡的...