問題タブ [legacy]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
4 に答える
940 参照

java - 新しいプロジェクトに Java/Glassfish/Metro をお勧めしますか?

私はしばらくの間 ASP.NET 2.0 で開発し、Java/Spring/Hibernate での開発期間はわずかに短くなりました。現在、私は新しい Web サービスの開発を開始しており、次の選択に混乱しています。

.NET WCF 3.5 対 Java/Metro。

ある面では、WCF は見事に開発されたソリューションであり、ソフトウェア フレームワークの傑作であり、関数型言語、簡単なウィザード、単純なアーキテクチャをすべてサポートしているように見えます。欠点は、Windows でのみ実行されているように見え (Mono は WCF をサポートしていません)、Ruby on Rails との統合が (Java のように JRuby を介して) あまり美しくないことです。

そして、Java は本当に時代遅れのようです -- 演算子のオーバーロードやジェネリック配列はありませんか?!

ですから、私の主な質問は、Java を使用して新しいプロジェクトを開始する人がここにいるでしょうか、それともレガシー ソフトウェアの死につつある言語でしょうか?

PS。パフォーマンスとデータベース接続の両方が主要な優先事項であるため、遅い Perl、Ruby、または Python と、データベースに適していない C++ は問題外です。

PPS。プレゼンテーション レイヤーには、Ruby on Rails を使用しています。

0 投票する
17 に答える
14648 参照

mainframe - ObjectStar (以前は Huron として知られていた) でまだプログラミングしている人はいますか?

Huron は、1990 年代初頭にIBM 360メインフレームの世界で生まれた4GLであり、 Amdahl Corporationによって作成および販売されました。独自のインタープリター型言語とデータベースがあり、人々が好きか嫌いかのどちらかでした。その最も注目すべき機能は、珍しいルール言語の構文と、クエリ言語との緊密な統合でした。結合を実行するには、独自のネストされたループをコーディングする必要がありました。

インダイレクション (典型的な「CALL TABLE.RULE」など) を適切に使用することで、非常にコンパクトで洗練された拡張可能なソリューションをすばやく作成することができました。また、悪意を持って悪夢のような維持不可能な怪物を作成することも可能でしたが、それは悲しいことに増殖し、その評判には何の影響もありませんでした。

1990 年代半ばに名前が変更され、ObjectStar として再ブランド化され、Unix および Windows NT に移植され、Windows または Unix で変更せずに実行されるイベント駆動型のクライアント サーバー アプリケーションを作成できる UI コンポーネントが与えられました。

最上位の開発ツールになるために必要なクリティカル マスが実際に得られることはなく、2000 年代の変わり目にはほとんど機能しなくなりました。

振り返ってみると、これは歴史的な逸脱のようなものです。したがって、私の質問:

まだ使ってる人いますか?

それとも聞いたことがありますか?

0 投票する
5 に答える
454 参照

c++ - サード パーティのレガシ コード用のテスト オブジェクトを作成する方法

私が実装するクラスの多くが、会社の他の部門によって提供されるクラスから派生したコード ベースを持っています。これらの他の部門との共同作業は、多くの場合、サード パーティのミドルウェア ベンダーであるかのような関係を築いています。

これらの基本クラスを変更せずにテスト コードを記述しようとしています。ただし、インターフェイスがないため、意味のあるテスト オブジェクトを作成するには問題があります。

通常はインターフェイスを抽出してそこから作業しますが、これらは「サード パーティ」であるため、これらの変更をコミットすることはできません。

現在、「Working with Legacy Code」という書籍で説明されているように、必要に応じて、サードパーティが提供する基本クラス ヘッダーで定義されている関数の偽の実装を保持する別のファイルを作成しました。

私の計画は、これらの定義を引き続き使用し、必要なサードパーティ クラスごとに代替のテスト実装を提供することでした。

しかし、それを始める前に、私のようなコードベースで実際のオブジェクトを提供しようとした人がいるかどうか疑問に思っていました。これにより、実際のサードパーティクラスの代わりに使用する新しいテスト固有のクラスを作成できるようになります。

問題のコード ベースはすべて C++ で記述されていることに注意してください。

0 投票する
3 に答える
1515 参照

nhibernate - 部分的に制御できないレガシーデータベースを使用するプロジェクトにNHibernateを使用しますか?

私の場合、現在の答えは次のとおりです。いいえ、データベースモデルとオブジェクトモデルが同期していない場合、NHibernateは苦痛であるため、iBatisを使用します。データベースを完全に制御できないと、多くの作業が必要になります。

なぜ私は尋ねるのですか?

まず第一に、私はNHibernateを使用したことはありません。私はそれを表面から知っています。レガシーデータベースに対するiBatisの利点について読みました。

2番目:最近、Hibernateで作業している人と話し合いました(jep、Hibernateの前に「N」を付けないでください)。彼は、ORMフレームワークは現在かなり高度であり、Hibernateを提唱していると私に言いました。私はNHibernateに興味がなかったので、最近の開発を追跡していませんでした。

多分私は私の答えを再考する時が来たのか、そうでないのか?

0 投票する
5 に答える
1077 参照

c++ - C ++ 0xの実装は推測しますか?

C++0x標準は完成に向かっています。これまでC++に手を出していましたが、他の言語で台無しにされてきた多くの最新機能が欠けているように思われるため、完全に学ぶことは避けました。しかし、私は多くの苦情に対処するC++0xに非常に興味があります。標準が承認された後、主要なコンパイラベンダーが合理的に完全な本番品質の実装を提供するのにどれくらいの時間がかかるかについての推測はありますか?C ++の人気の低下を逆転させるのに十分早く起こるのでしょうか、それとも少なすぎるのでしょうか、遅すぎるのでしょうか。C ++0xが数年以内に「C++」になると思いますか、それともほとんどの人が実際には以前の標準に固執し、C++0xはやや野蛮な継子になると思いますか。 C99?

0 投票する
16 に答える
1037 参照

visualization - 他の人のコードを理解する

残念なことに、非常に古く、文書化も不十分 で、設計も不十分なコードを変更しなければならないことがあります。

既存のコードにはあまり構造がないため、簡単な変更を行うには長い時間がかかることが多く、実際に多くのコードを読まないと、どこに何が起こるかを感じることができません。

このような場合に大いに役立つと思うのは、コードの概要を視覚化し、さらに詳細にドリルダウンすることさえできるツールです。ほとんどまたはまったくない構造を見つけようとしていることを考えると、そのようなツールを正しくするのは非常に難しいと思います。

これは質問ではなく、ただの思い込みだと思います。私はそれを質問にすべきです -他の人々のコード、良い面と悪い面を理解するのを助けるために他の人は何をしますか?

0 投票する
21 に答える
7041 参照

legacy - コードをレガシーにするものは何ですか?

多くの開発者がコードを「レガシー」と呼んでいると聞いています。ほとんどの場合、プロジェクトに携わっていない人が書いたコードです。コード、レガシー コードを作るのは何ですか?

「先祖、前任者、または過去から受け継がれたもの」http://www.thefreedictionary.com/legacyに応じて更新します。明らかに、あなたは何か他のことを知りたがっていました。質問を明確にするか、拡大していただけますか?S.ロット

レガシー コードが使用できなくなったり、作業が困難になったりする症状を探しています。捨てたほうがいいのはいつ?コードはもっと頻繁に捨てるべきであり、車輪の再発明は開発の貴重な部分であるというのが私の意見です。車輪の再発明をしないという学術的な理想は素晴らしいものですが、あまり実用的ではありません。

一方で、保持する価値のあるレガシー コードも明らかにあります。

0 投票する
3 に答える
1530 参照

com - アウト プロセス COM サーバーのプロセス分離を強制する方法は?

アウト オブ プロセスで実行されるベンダーの COM オートメーション サーバーと対話する必要があるマネージ コードを作成しています。複数のクライアントが接続すると、このサーバーが不安定になることがわかりました。たとえば、プロセス A のマネージ コードとプロセス B のマネージ コードの両方がこの COM サーバーに接続している場合、COM サーバーに対して単一のプロセスが起動され、その動作は信頼性に欠けます。 クライアントとサーバーの接続ごとに個別のプロセスを強制する方法があることを願っています。理想的には、次のようになりたいと思います。

管理対象プロセス A がプロセスC1
で COM サーバーと通信中 管理対象プロセス B がプロセスC2で COM サーバーと通信中

頭に浮かんだ考えの 1 つは、プロセス A とプロセス B を異なるセキュリティ ID で実行すると、COM インフラストラクチャが別のサーバー プロセスを作成する可能性があるということでした。しかし、私はむしろその道をたどりたくありません。管理対象プロセス A と管理対象プロセス B は、実際には Windows サービスです。そして、ID ローカル システムでそれらを実行しています (デスクトップと対話できるようにする必要があり、ローカルとして実行されないサービスのサービス アプレットの [デスクトップと対話する] ボックスをチェックできないためです)。システム)。そして、私がデスクトップと対話する必要がある理由は、この COM サーバーが時折画面にダイアログ ボックスを表示し、サービス自体がデスクトップと対話できない場合、COM サーバーが生成され、ダイアログを表示できないためです (私はそれが非表示の WinStation に表示されます)。