2

私は 2 つの非常によく似たスケジューラーを維持しています。1 つは Java で、もう 1 つは C# です。C# バージョンは、もともと JLCA を使用して作成され、その後手動で変更されました。この Java バージョンは、この数週間で他の誰かによって大幅に変更されました (そのため、彼の変更を追跡する必要があります)。インターネットで入手できるツールのいずれかを使用して再変換するか、それとも単に試してみるかを考えています。必要が生じるたびに手作業で変更を加えます。この問題は私にとって頻繁に発生する可能性があります.ソフトウェアのバージョンを2つの異なる言語で維持し、それらをできるだけ簡単に調整する方法はありますか?! 提案をいただければ幸いです。

4

5 に答える 5

2

これがオプションであるかどうかはわかりませんが、Java で開発し、IKVMを使用して jar ファイルを .NET アセンブリに変換することを検討することをお勧めします。数年使用していませんが、当時は問題なく使えていました。

于 2009-02-20T14:30:10.590 に答える
2

私は既製のコード コンバーターを使用してプロジェクトを 2 つの異なる言語で維持するのに非常に悪い経験をしました ( convertとは言っていません。.)

複数のプラットフォームを定期的にサポートしている人々がいて、彼らは独自の社内ツールなしで言語選択の苦労を指摘するのが好きですが、彼らは特殊な言語を使用したり、慣例によって一連の言語構造に自分自身を結び付けたりする傾向があります。中間コンパイラは、それらのために単調な作業を行うことができます。

独自の優れたクロス コンパイラと、それに伴うコード規則がなければ、手作業で作業を行います。秘訣は、チェックインをしっかりと監視し、機能が両方の場所でチェックされるようにすることです。問題の深刻度に応じて、これを保証するのに役立つソース管理プロセス (抑圧的で苦痛なものから比較的軽量なものまでさまざま) を考案できます (たとえば、開発者にブランチへの変更のみをチェックインするように要求することができます)。両方のプラットフォームでポートが完了するまで、その時点で両方をマージします。)

于 2009-02-20T15:14:45.380 に答える
1

私は個人的に違いを手作業で維持します。これは、ある時点で .NET で何か別のことを行う方が理にかなっている場合 (コードを慣用的にするために、そうなる可能性が高い)、その変更を手動で再適用し続ける必要がないことを意味します。

もう 1 つのオプションは、元の Java コードの変換を行い、それをコピーしてから、変更された Java コードの変換を行うことです。2 つの変換の結果を比較し、その変更を簡単に実行できる既存のコードに適用します。これにより、既存のコードを維持しながら「面倒な」変換を行う必要がなくなります。

于 2009-02-20T14:57:10.633 に答える
0

それらが非常に似ている場合、両方のバージョンを維持することに実際の利点はありますか? たぶん、そのうちの1つを捨てることができます...

于 2009-02-20T15:30:52.003 に答える
0

J# を検討しましたか?

ニーズと構成に応じて、Java コードを Java と J# の両方としてクロスコンパイルできます。共通部分を別のモジュールにリファクタリングして、どちらの環境でもコンパイルする必要がある場合があります (J# は Java 1.2 でスタックしており、1.3 クラスがいくつかあります)。

J# は古く、VS 2008 では使用できなくなったことに注意してください (Visual Studio 2005 の古いコピーが必要です)。ただし、プロジェクトの複雑さによっては、これが実行可能なソリューションになる場合があります。

于 2009-02-20T15:04:39.400 に答える