作者tkdmaf (皮皮快跑)
看板PHP
标题Re: [请益] function该切的多细?
时间Fri Feb 18 09:03:36 2011
※ 引述《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