在编写自己的函数之前,我们如何让编码人员查找现有函数?

时间:2009-03-13 15:30:00

标签: php spl

为什么这么多人仍然在标准库中编写糟糕的版本?不要追求PHP开发人员,但是请大家阅读PHP SPL

10 个答案:

答案 0 :(得分:11)

同行评审可以帮助抓住那种事情。如果你有另一个开发人员在查看代码,并且他们不断发现标准库方法的实现,那么除非有充分的理由重新发明轮子,否则它应该无法通过审查。

答案 1 :(得分:8)

年轻,雄心勃勃的程序员喜欢自己解决每一个问题。他们不需要stinkin'库。较老的,懒惰的程序员宁愿寻找现有问题的现有解决方案。

所以我的建议是:下次你聘请程序员时,选择在接待区睡着的老家伙。

开玩笑吧。同行评审和教育就是答案。

答案 2 :(得分:6)

更好的搜索技术。特定领域的熟悉度

开发人员如何检查他们不知道名字的功能?或许也许没有一个完整的内置函数来做他们想要的东西,但他们可以用来节省大量代码。您需要能够找到手头问题的正确术语,并从那里知道要搜索的内容。通过阅读特定于您的问题域的主题,可以获得最佳效果。远离编码特定资源,并在您编码的领域花一些时间......它是零售,医疗,保险等。

答案 3 :(得分:6)

摘要:假设是所有FUBAR的母亲

我从那些不熟悉框架概念的同事那里看到了很多(上帝他们如何抱怨“一种语言中的两种语言”),比如说:老C ++人突然面对C#潜水首先从头重新创建哈希表划伤...

显然,从这个角度来看,这种现象的很大一部分并没有走出旧观念和习惯。如果您在新环境中,则需要学习新规则。从外部看待处理这个问题的唯一方法是提供培训,无论是一段时间的配对编程还是更正式的编程。

对您的工具缺乏熟悉会滋生他人的蔑视。

答案 4 :(得分:3)

一个简单的编码风格文档可能有助于提醒开发人员有可用的库(可能列出一些首选)并且他们应该熟悉它们。

有时候,你只需要提醒别人。

同行评审会有所帮助。

答案 5 :(得分:3)

当且仅当您确切地知道您正在寻找什么时,PHP才有详细记录。例如,您打开ArraysArray functions部分以了解您可以对数组执行的操作。猜猜看,甚至没有提到SPL。

答案 6 :(得分:3)

在实际开始编写代码之前,您还应该鼓励研究。我通常通过思考一种方法来解决问题,然后我尝试在标准库或任何其他可以帮助我的库中找到任何东西。我想说在某些情况下进行一小时的研究可能值得几天编码。

如果人们不这样做,那么让某人向他们询问有关他们对问题的一般方法以及他们正在考虑使用的库函数/类的问题可能是个好主意。如果他们遗漏了一些明显的东西,请向他们提出建议。

答案 7 :(得分:2)

迅速想到两个原因。首先,标准PHP库并不为人所知,并且文档很差。 php.net网站被广泛认为是该语言的最佳资产,但许多较新的内置类(如SPL,反射API,DomDocument等)只是一个没有大量上下文的方法列表。

更重要的是,看起来完整的SPL默认情况下从未在(未发布的)5.3之前的任何版本的PHP中发布。就收养而言,这是一个杀手锏。通常,编写PHP代码的人无法控制将其编译到PHP二进制文件中的内容。这是由他们的Web主机和/或运营团队处理的,Web主机和/或运营团队的目标与开发人员不同,并且不会安装随附的每个可选扩展。这也意味着像Drupal,Joomla,Wordpress等项目不能依赖于SPL在任何地方安装,所以他们不使用它。

部分之所以PHP“胜出”over perl是一次安装,你拥有所需的一切。可选扩展在它们成为基本安装的一部分之前从未被广泛采用。

答案 8 :(得分:1)

很难回答的问题。显然,同行评审有帮助,但也有适当的文档。您的项目是否有技术规范,您可以在哪里绘制要创建的类和接口?

如果是这样,团队中的其他人应查看规范并指出可以使用现有代码的地方......

答案 9 :(得分:0)

同意培训和同行评审,但是执行单元测试和代码文档应该有助于NIH综合症:)