我被告知这是一种不好的做法,并使我的代码看起来像“NOOB”,也就是命名类,而不是内部的函数/方法。
我是否可以获得一些关于此问题的其他意见/建议,因为我非常困惑。
类别:
class MoonSoon_Init {
private $input = array();
private $config = array();
function __construct()
{
return;
}
function init()
{
// plenty of code here
}
}
答案 0 :(得分:1)
对我来说,init本身并不是一个糟糕的名称(见下文),但在类名中加入它有点奇怪。类是类 - 它们可以初始化,构造,破坏,扩展,继承等等。
在不知道你的课程意图代表什么的情况下,我会说MoonSoon可以作为一个班级名称 - 我的意见。但是,如果在您的应用范围内,以您的方式命名它是完全合理的,那么这样做。
另外,来自php和python,我把名字init和构造成逻辑上相似的名字......
我理解__construct()
是构造函数方法,但确切地说,init方法名称__init__()
在python中用作一种构造函数方法。这可能是分裂的头发,但它会通过他们的名字向我建议他们做同样的事情。
你打算怎么做你不会在__construct做的init?
答案 1 :(得分:1)
对我来说,班级名称需要告诉你班级管理的内容。
之后,方法名称需要告诉我它的作用。初始化是类似的(考虑它),因为它在使用它之前准备了一些东西,所以我认为picus是正确的,你的“init”方法看起来类似于为此目的的类的构造函数。
拥有像这样的类名MoonSoon_Init并没有告诉我任何事情......什么是月亮?在那之后_init会告诉我这个课程开始了......所以还有其他课程以MoonSoon开头并以其他名字结尾?
以这种方式更快地了解事情真是太多了,而且我在谈论中/大项目。