据我所知,并且从其他SO帖子中收集过,还没有适当的工具来重构PHP代码,所以当涉及到重构时,对于我们大多数人来说,它可能是很好的旧搜索和替换,我们没有忽略一些东西,祈祷的数量很大。
我想知道是否有关于如何为手动重构编写友好代码的编码建议。永远不要从字符串构造变量名,这是一个想到的事情,因为像这样的构造是不可能grep:
$object->{"field_".$fieldname}
我可以想象有几个这样的做法和注意事项。也许有人知道关于这个问题的好资源/文章。它也不一定是PHP特定的。
答案 0 :(得分:5)
Unit tests总是帮助我确定因重构而导致代码损坏的地方。动态语言(PHP,Ruby,Python等)中的单元测试提供了帮助,其中静态键入其他语言(Java,C#)通常可以让您更安全地重构。
答案 1 :(得分:3)
尽可能避免魔法:使用@的变量,eval,掩码错误以及在数据库中存储代码将回来咬你。
答案 2 :(得分:1)
好吧,编写重构友好代码的最好方法是编写松散耦合,高度内聚的代码和面向对象的代码。
你应该尝试尽可能多的抽象,毕竟抽象是编程时的关键字。
但是,您应该将代码分层到表示层,业务层,数据层等。使用设计模式是一个非常好的解决方案。
我建议你阅读Martin Fowler。
答案 3 :(得分:0)
你的问题有一定道理。但是 - 同时 - 它意味着已知执行不充分,并且要编写以替换。为什么不在第一次正确地构建它?
答案 4 :(得分:0)
首先,确保您的变量名称有意义。如果可能的话,尽可能使用OOP,或者至少保持一切有序(图像功能文件,数据库文件等)
其次,这很方便,请检查您的IDE。 Netbeans可以选择重构。您可以在文件,文件夹,项目等中进行搜索。