0

我的情况是我有“进步”类 - 问题是我有兴趣合并一些也有“进步”类的开源。我记得非常模糊地提到了一个应用程序,该应用程序能够检查开发中的各种文件以获取给定的类名......然后返回它......或更改它。你有这方面的经验吗?

谢谢

4

3 回答 3

2

某些语言(C++、C#)有命名空间的概念。Java有包。Python有模块。它们旨在防止类名冲突。假设您在谈论 Java,名为“Progress”的开源类可能在它自己的包中,而您的“Progress”在您自己的包中。因此,也许您并没有像您想象的那样遇到问题。

话虽如此,我猜您是在询问 IDE 中称为重构的功能,该功能允许您在任何引用或依赖它的地方更改类名。

于 2008-12-15T20:48:10.637 回答
0

许多 IDE(例如 Eclipse)可以做到这一点,但 Java 比 PHP 更常见。由于 PHP 变量的动态特性,IDE 很难准确地知道要更改什么。例如,您可以这样做:

$name = "prog";
$name .= "ress";
$cls = new $name();

IDE 必须实际运行您的应用程序才能知道 $name 在特定时刻包含“进度”。即使那样,也没有办法自动修复它。

可悲的是,您陷入了查找和替换的困境。不过不用担心;在开发过程中更改类名是一件好事。它迫使您重新思考该课程的确切用途。

于 2008-12-15T20:44:04.840 回答
0

始终使用产品/项目缩写作为类名的前缀。为什么不使用 TextPad 替换所有匹配项?这样你以后就不会混淆它是哪个类了。我还建议使用命名空间/包技术,但这会让你重写我假设的很多代码。

http://en.wikipedia.org/wiki/Code_refactoring 上面的链接有一些用于重构的工具。

于 2008-12-15T20:57:29.587 回答