类具有与内部函数类似的名称

时间:2013-12-27 19:12:23

标签: php

我被告知这是一种不好的做法,并使我的代码看起来像“NOOB”,也就是命名类,而不是内部的函数/方法。

我是否可以获得一些关于此问题的其他意见/建议,因为我非常困惑。

类别:

class MoonSoon_Init {
    private $input = array();
    private $config = array();

    function __construct()
    {
        return;
    }

    function init()
    {
         // plenty of code here
    }

}

2 个答案:

答案 0 :(得分:1)

对我来说,init本身并不是一个糟糕的名称(见下文),但在类名中加入它有点奇怪。类是类 - 它们可以初始化,构造,破坏,扩展,继承等等。

在不知道你的课程意图代表什么的情况下,我会说MoonSoon可以作为一个班级名称 - 我的意见。但是,如果在您的应用范围内,以您的方式命名它是完全合理的,那么这样做。

另外,来自php和python,我把名字init和构造成逻辑上相似的名字......

我理解__construct()是构造函数方法,但确切地说,init方法名称__init__()在python中用作一种构造函数方法。这可能是分裂的头发,但它会通过他们的名字向我建议他们做同样的事情。

你打算怎么做你不会在__construct做的init?

答案 1 :(得分:1)

对我来说,班级名称需要告诉你班级管理的内容。

之后,方法名称需要告诉我它的作用。初始化是类似的(考虑它),因为它在使用它之前准备了一些东西,所以我认为picus是正确的,你的“init”方法看起来类似于为此目的的类的构造函数。

拥有像这样的类名MoonSoon_Init并没有告诉我任何事情......什么是月亮?在那之后_init会告诉我这个课程开始了......所以还有其他课程以MoonSoon开头并以其他名字结尾?

以这种方式更快地了解事情真是太多了,而且我在谈论中/大项目。