我正在将一些代码从C#移植到Java。我发现很容易错过代码或犯其他错误。我在想,如果我可以在同一个文件中同时存在两个版本的代码,那么我可以减少这些错误。我将只编辑一个文件,仅编辑文件的两个部分。

如果Java具有像C#这样的预处理器(我知道有些项目允许这样做),我可以编写如下内容:

#if C_SHARP
namespace MyMath
{
    class NaiveFib
    {
        public int Run(int n)
        {
            if (n == 0) return 1;
            if (n == 1) return 1;
            return Run(n - 1) + Run(n - 2);
        }
    }
}
#elif JAVA
package MyMath;

public class NaiveFib
{
    public int Run(int n)
    {
        if (n == 0) return 1;
        if (n == 1) return 1;
        return Run(n - 1) + Run(n - 2);
    }
}
#endif


如果将Java文件命名为* .java,将C#文件命名为* .cs,那么我的IDE仍然会遇到一个问题,因为该文件包含可编译代码。如果我检查正确的设置,似乎Visual Studio可以将* .java文件视为C#文件。我无需对Java IDE(Eclipse)进行任何更改。

这一切可能吗?这是一个好主意还是麻烦多于其价值?

最佳答案

我会说这个主意不错,但是代码很难阅读。一团糟。
也许如果您有一个非常简单的代码库...但是实际上会导致大混乱!

您可能会花费大量时间查看错误代码,向下滚动n并变得更加困惑。当您打开Java项目时,就会知道文件中的干净代码,您知道自己正在使用Java。当您打开C#时,您知道它是C#等。

做一个Java分支和您的代码的C#分支。它更易于维护和保持清洁。

想想您要升级环境的情况,为什么要浪费时间/金钱在仅升级C#代码的同时重新编译Java代码,等等!

您还会在相同文件中移植到php,ruby,perl,python等吗?

只是让程序员打开他们想要查看和使用的代码,即单独的文件!

一些Java程序员在看到C#代码时可能会跳出窗口!想过吗? ;)

07-28 02:55
查看更多