0

少し修辞的な質問であることは承知していますが、この教義を支持または拒否する意見を聞きたいと思っています。

ちょっとした背景: 私は厳密に社内で使用される大規模で成熟したアプリケーション (UI 用の VFP、中間およびバックエンド用の Oracle PL/SQL) を開発および保守しています。UI を C# で書き直すことを上司に依頼したところ、今後の開発作業はすべて Java /Spring で行うように言われました。デスクトップ アプリケーションから Web アプリケーションに移行する労力は、単純に C# に移行するよりもはるかに大きくなると説明しました。また、Web ブラウザーに移行するには、UI 全体を大幅に再設計する必要があることも説明しました。最後に、このアプリケーションは社内でのみ使用されるため、Web アーキテクチャを導入することで得られるメリットは、外部アプリケーションが受けるメリットほど大きくないことを説明しました。残念ながら、私の主張は彼らを揺るがしませんでした。

私の一部は、経験を積むことができるように、Java で書き換えを試みて降伏したくなる誘惑にかられますが、C# への移行に必要な時間と労力が 4 倍になるプロジェクトの惨事になる可能性があるのではないかと心配しています。

部門が 1 つの言語のみをサポートすることには利点があることは理解していますが、ハンマーでネジを打ち込もうとしているような気がします。

では、すべての開発作業に単一のソリューションを使用する企業の長所と短所は何でしょうか? また、他の誰かが、選択した言語が実際的な理由にもかかわらず拒否されたという同様の状況に陥っていますか?

4

5 に答える 5

2

公平を期すために、述べられている質問は、ストローマンの議論のようなものです。もちろん、「コストに関係なく」という条件を文字通り受け取ると、答えはノーです。

編集:OPは「コストに関係なく」という文言を削除しましたが、残りの回答は引き続き適用されるはずです。

とはいえ、通常、単一のアーキテクチャを適用する理由は、コストを節約するためです。彼らは、誰もがそのアーキテクチャに力を注ぐことを望んでいます。そのアーキテクチャが対処する問題のほとんどに適合する場合、コストを削減できます。問題は次のようになります: アーキテクチャを強制することによる節約は、それが適切ではない問題に対して時折それを使用するコストに見合う価値があるでしょうか?

答えがまだ「いいえ」である多くの例がありますが、白黒ではありません。それはあなたの会社が何をしているか、あなたのコアコンピテンシーがどこにあり、彼らが開発に本当に興味を持っているプロジェクトに依存します.

于 2009-02-12T14:13:44.137 に答える
1

単一のアーキテクチャ原則を強制するのは悪い考えであるというあなたと Rob Wells の意見に同意します。この場合に有効な唯一の方法は、各ソリューション (Java と C#) のコストを分析し、実際の数値と決定的な証拠を提示することです。ケーススタディがあるかどうかを確認することもできます。それらが利用できない場合は、他の会社が同様のことを行っているかどうかを確認し、その効果を研究し、それを使用して経営陣を説得したいと思うかもしれません. とはいえ、これは Java でコーディングするよりも手間がかかるかもしれません (冗談:))。経営陣を説得できることを祈っています。

于 2009-02-12T14:09:20.840 に答える
0

いいえ。

それは、コンクリートしか扱えない建築家のところに行くようなものです。

すべての問題空間に単一の解を重ねることしかできません。

追記:成熟したシステムを書き直すことで価値のある ROI が得られることを経営陣に納得させるのは非常に難しいでしょう。

于 2009-02-12T14:01:19.423 に答える
0

通常、1 つのプロジェクト チームの生活を楽にするためにアーキテクチャが課されることはありません。

Java と Web アプリケーションの選択は、必ずしも 1 つの言語だけではありません。

企業が単一のアーキテクチャを義務付ける理由は多数あります。あなたの会社がそれを行った理由と、そうすることによる会社への価値を理解する必要があります。

そうする理由は次のとおりです。

  • 専門知識を維持しなければならないため、1 つの言語とツールチェーンだけで人材をトレーニングする
  • テクノロジーが似ているため、プロジェクト間での人の移動が容易になります。
  • 後でアプリケーションで作業するスタッフが複数の言語を知る必要がないため、メンテナンスが容易になります。
  • 複数の言語用のツール (IDE、ブラウザのリファクタリングなど) を購入する必要がない
  • Windows 以外のデスクトップを使いやすくする
  • アプリケーションをサポートするための運用コストの削減 (たとえば、デスクトップ インストールの必要がない、または知っておく必要のあるテクノロジの数を減らすことによって)
  • IT ディレクターは、Java ツール ベンダーから裏切りを受けています :)

したがって、このアーキテクチャを採用することには、コストだけでなくメリットもあります。少なくとも利点を理解していることを示す必要があり、このプロジェクトで好みの言語を使用することが企業として理にかなっている理由を説明できる必要があります。

なぜ大惨事になると思いますか?Java が書き直しに適さない理由は何ですか? 好きな言語を持っていて、まだ知らないことを悪口を言う人としてやって来ないように注意する必要があります。

于 2009-02-12T14:26:48.007 に答える
0

メンテナンス コストを考慮すると、「認可された」アーキテクチャの選択を制限することは理にかなっています。プロジェクト間で人やチーム全体を簡単に移動できます。

于 2009-02-12T14:32:28.257 に答える