看板 PHP 關於我們 聯絡資訊
※ 引述《kalecgos0616 (.)》之銘言: : 小弟最近在寫class時 : 其中每個的方法到底要切的多細呢? : 仰或是不使用方法,一路top-down寫下來? : 有時候覺得切出來的方法感覺只會用到這一次,覺得不是很恰當 : 或著下次要呼叫這隻方法時,我只需要到他部份的功能 : 多餘的地方就浪費資源了 : 有請教各位大大賜教了 幾個小原則參考一下: 1.函式提取:將程式段中重複(尤其是大量重複)的程式碼提取為函式。 2.單一職責:一個函式儘用於處理單一功能,儘可能不要一個函式多功能。 3.層次提取:像if、for、while、foreach這一類的條件迴圈,一但包到第三層 時,就要考慮將第3層,或是2、3層一起提取成函式。而不要像是: if(){ for(){ foreach(){ while(){ } } } } 此例可將foreach以下另提取成函式處理。 基本原則就是最多一個程式功能段只包「二層」為極限。超過就提取。 (偶一為之的三層是可容許的,比如第三層的程式碼只是簡單的判斷。) 4.物件的方法:其實就是動作、功能。他的設計原則和函式的原則是相通的。但最大的 差異性是寫函式有時會考慮到globals,也就是全域變數的問題。基本上我個人幾乎都不 使用全域變數。如果是全域使用而不變動的資料我習慣用常數處理。 但是在物件導向中並沒有這種困擾,因為物件的屬性在物件中就是全域的。 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 218.167.136.156