代码之家  ›  专栏  ›  技术社区  ›  Carson Myers

是否可以只包装PHP库函数来更改名称?

  •  3
  • Carson Myers  · 技术社区  · 15 年前

    今年夏天我将启动一个相当大的PHP应用程序,在这个应用程序上我将是唯一的开发人员(所以除了我自己之外,我没有任何代码约定可以遵循)。

    php 5.3是一种不错的语言IMO,尽管它有愚蠢的名称空间标记。但是有一件事一直困扰着我,那就是标准库和它缺乏命名约定。

    所以我很好奇,将一些最常见的标准库函数包装在我自己的函数/类中,以使名称更好一点,这是否是一个严重的错误做法?我认为在某些情况下,它还可以添加或修改某些功能,尽管目前我没有任何示例(我认为我将找到使它们面向对象或使它们在工作时工作略有不同的方法)。

    如果你看到一个PHP开发人员这样做,你会认为“伙计,这是一个劣质的开发人员吗?”

    此外,我对PHP是否优化/如何优化不太了解(或不知道什么),而且我知道通常PHP的性能并不重要。但是这样做会对我的应用程序的性能产生显著的影响吗?

    4 回复  |  直到 15 年前
        1
  •  6
  •   Dolbz    15 年前

    您现在可能是唯一的开发人员,但是否有其他人会使用此代码?如果是这样的话,如果您只是简单地包装调用,那么应该主要使用标准库名称。

    我曾经使用过这样的代码,作者在代码中包装了这样的调用,它确实会损害快速理解代码的能力。

    如果你看到一个PHP开发人员这样做,你会认为“伙计,这是一个劣质的开发人员吗?”

    嗯,不……但我想“该死……我得学习这个家伙的新命名标准,虽然用心良苦,但这需要时间。”

        2
  •  4
  •   Pekka    15 年前

    我想你所指的不仅是命名约定,还包括 function (needle, haystack) function(haystack, needle) 参数顺序。

    我完全可以理解在这些东西周围建立健全的自我防卫包装的愿望。不过,我还是宁愿不这样做,仅仅是因为它为您的项目添加了一个专有层,这会使其他人更难理解。每个人都知道 array_push 确实,但是 MyArrayFunctions::push 人们可能需要仰头看,甚至是仔细看才能知道它是干什么的。

    我倾向于坚持这些标准,尽管在这种情况下它们确实很糟糕。另外,有了一个可以在键入时查找函数和参数的合适的IDE,问题已经大大减少了。

    另一方面,我看不出在静态类中有什么害处。 Array 这带来了 push() , pop() , array_this() array_that() 形成一个标准形式。我想说这取决于你,真的。

        3
  •  2
  •   jtm    15 年前

    简单的包装不会影响您的性能,但这可能会混淆项目中未来的开发人员。作为一个PHP程序员,您慢慢地开始期待奇怪的命名约定。

    如果您要添加任何功能,那么拥有一致的约定是非常好的。我曾经使用过一个PHP静态类,它包装了本机数组函数(并添加了新的函数)。总是有相同的论点放置是很方便的。

        4
  •  0
  •   Not Available    15 年前

    在我看来,例如数组的OOP实现是可以的,您将包装它们并部分修改功能,不过只是重命名函数和改变我不喜欢的参数。

    如果您确实需要这样做,请确保使用phpDoc对其进行注释,这样人们就可以在其IDE的自动完成功能中看到正确的语法。