3

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

PHP 5.3 是一种体面的语言 IMO,尽管名称空间令牌很愚蠢。但一直困扰我的一件事是标准库及其缺乏命名约定。

所以我很好奇,将一些最常见的标准库函数包装在我自己的函数/类中以使名称更好一点是不是很糟糕?我想它也可以在某些情况下添加或修改某些功能,尽管目前我没有任何示例(我想我会找到使它们成为 OO 的方法,或者在我工作时使它们的工作方式有所不同)。

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

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

4

4 回答 4

6

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

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

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

好吧,不……但我想“该死……我必须学习这些家伙的新命名标准,尽管出于善意,这将花费我时间”

于 2010-04-02T10:24:00.560 回答
4

我假设您不仅指的是命名约定,还指的是参数顺序function (needle, haystack)function(haystack, needle)参数顺序的混合。

我完全可以理解为自卫而围绕这些建立理智包装的愿望。不过,我仍然宁愿不这样做,只是因为它为您的项目添加了一个专有层,这会让其他人更难理解。每个人都知道它是做什么array_push的,但MyArrayFunctions::push人们可能不得不抬头看,甚至查看它的作用。

我倾向于坚持标准,即使在这种情况下它们确实很糟糕。另外,使用可以在您键入时查找函数和参数的体面的 IDE,问题已经大大减少。

另一方面,我真的看不出有什么害处,比如说,将Array所有push()pop()和带入一个标准形式的静态类。我会说这取决于你,真的。array_this()array_that()

于 2010-04-02T10:24:58.883 回答
2

简单的包装器不会影响您的性能,但这可能会使项目中的任何未来开发人员感到困惑。作为一名 PHP 程序员,您会慢慢开始期待奇怪的命名约定。

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

于 2010-04-02T10:17:54.980 回答
0

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

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

于 2010-07-05T15:57:27.307 回答