問題タブ [legacy-code]
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.
.net-1.1 - VS2005 を使用して .NET 1.1 から移行した場合の影響
Microsoft コンテンツ管理システム (MCMS) を含む、クライアント用のレガシ コードに取り組んでいます。
現在、コード、MCMS、SQLServer、および IIS (5.x) のすべてがローカルです。
プロジェクトフォルダーをコピーし、コピーした新しいソリューションをVS2005で開き、変換を行いました。
しかし、今は何も機能しません。IIS プロファイルに変更が加えられていることに気付きました。これらの変化の程度は...??
また、私の VS2003 は Web プロジェクトを認識できませんか??
誰が何が起こっているのか知っていますか?
乾杯!
xhtml - .NET 1.1 のサーバー コントロールを Xhtml に準拠してレンダリングする方法
レガシー .NET 1.1 サイトを「再スキン」しています (わかっていますが、聞かないでください)。
とにかく、元はすべてひどい html4.0 マークアップで、新しいデザインは xhtml です。
.NET 1.1 および Visual Studio 2003 でのサーバー コントロールのレンダリング方法を変更するにはどうすればよいですか?
たとえば、asp:ImageButton コントロールは自己終了タグなしでレンダリングされます。これを変更するにはどうすればよいですか?
乾杯!
ms-access - VBA + Access Forms アプリケーションを書き続ける正当な理由はありますか?
最近、古い Access Forms アプリケーションを更新するように依頼されました。私は .NET のバックグラウンドを持っていたので、この変更は恐ろしく、やや不快になりました。私はこれらがレガシーテクノロジーであり、急速に時代錯誤になっていると思っていました...
私が間違っている?もしそうなら、この技術を使い続ける理由は何ですか?
legacy-code - ソフトウェアシステムを理解する
私は最近、その一部を開発する複雑な組み込みプロジェクトチームの一員になりました。私の責任である部分については、古いコードのみがあり、多くのドキュメントはありません。
私は良いスタートを切ることに熱心ですが、恥ずかしがり屋で愚かに見えることへの恐れが質問をするのを難しくしています。質問する方法は?
プロジェクトを理解するためにあなたたちがどのようなテクニックを使っているのか聞きたかったのですが?つまり、デザインを作成するために覚えておく必要のある技術的な詳細がたくさんあるということです。あなたはコードを読んでいくつかの事実を入手しますが、どのように先に進むのですか?たとえば、コードとドキュメントを読んで、いくつかのファクトAとファクトBを取得します。事実CとDも考慮する必要があるかもしれないし、そうでないかもしれない適切な結論Xに到達する方法は?
architecture - レガシープロジェクトを強化するためのプロジェクトアーキテクチャ
私はレガシープロジェクトに取り組んでいます。現在、状況はプロジェクトを部分に分割することを要求しています。このタスクを実行するためにどのような戦略に従う必要がありますか。
説明:
レガシープロジェクト(A)は、ほぼ明確に定義されたレイヤーを備えた完全に機能するWebアプリケーションです。しかし今、私はプロジェクトをさらに強化するために拡張する必要があります。このプロジェクトの使用法は、ビルドツールとして機能します。ただし、依存関係の管理にのみ使用されます。(プロジェクトはEclipse内で戦争形式にエクスポートされました)。
新しい拡張機能では、新しいデータテーブル、新しいUI(jsp、css、js、および画像)を追加する必要があります。
アプリケーションを強化するための私の戦略はどうあるべきか。
私の提案したデザイン。
2つの新しいプロジェクトを作成する予定です
プロジェクトB:このプロジェクトでは主な強化作業が行われます。サービスレイヤー、daoレイヤー、UIレイヤーなどのすべてのレイヤーが含まれます。そして、それ自体がWebアプリケーションになります。
プロジェクトC:プロジェクトAからいくつかの一般的なモデルとサービスコードを抽出し、このプロジェクトを作成します。このプロジェクトは、両方のプロジェクトへの依存関係として追加されます。
私のこのアプローチが大丈夫なら!それなら、展開に問題があると思います。これらの2つのプロジェクトでは、別々にデプロイする必要があります(現在はtomcatが使用されています)。しかし、私はこれら2つのプロジェクトを1つの戦争として展開する必要があります。したがって、両方のプロジェクトの構成を持つようにweb.xmlエントリを変更する計画を立てる必要があります。これには、プロジェクトの複雑さが増します。
プロジェクトの私のデザインはどうあるべきですか?私の計画は良さそうですか。
c# - .NETのリンクシーム
私は最近、MichaelFeathersの本「LegacyCodeで効果的に作業する」を完成させました。これは、テストシームを効果的に作成し、それらを活用して既存のコードをテストする方法についてのすばらしい本でした。
彼が話しているテクニックの1つは、「リンクシーム」を使用することでした。基本的には、別のライブラリに依存するコードがある場合は、リンカーを使用して、本番用とは異なるテスト用のライブラリを挿入できるという考え方でした。これにより、モックライブラリを介してテスト条件を検知したり、実際の効果を持つライブラリ(データベース、電子メールなど)などを呼び出さないようにすることができます。
彼が挙げた例はC++でした。この手法(または同様の手法)が.NET / C#で可能かどうか知りたいですか?
java - 大規模なJavaヒープダンプでメモリリークを見つける方法
Javaアプリケーションでメモリリークを見つける必要があります。私はこれについてある程度の経験がありますが、このための方法論/戦略についてアドバイスを求めています。どんな参考やアドバイスも歓迎します。
私たちの状況について:
- ヒープダンプが1GBより大きい
- 5回のヒープダンプがあります。
- これを誘発するテストケースはありません。これは、(大規模な)システムテスト環境で少なくとも1週間使用した後にのみ発生します。
- このシステムは、内部で開発されたレガシーフレームワークに基づいて構築されており、設計上の欠陥が非常に多いため、すべてを数えることは不可能です。
- フレームワークを深く理解している人は誰もいません。それは、電子メールへの返信にほとんど追いついていないインドの1人の男に転送されました。
- 時間の経過とともにスナップショットヒープダンプを実行し、時間の経過とともに増加する単一のコンポーネントはないと結論付けました。ゆっくりと成長するのはすべてです。
- 上記は、使用量を無制限に増やすのはフレームワークの自家製ORMシステムであるという方向を示しています。(このシステムはオブジェクトをファイルにマップしますか?!したがって、実際にはORMではありません)
質問: エンタープライズ規模のアプリケーションでリークを追跡するのに役立った方法論は何ですか?
php - レガシーコードを PHP に「移植」するとはどういう意味ですか?
私は今週オープンブック テストを行います。このテストは、レガシー コードのチャンクが提供され、コードを「移植」する必要がある演習になると通知されました。
オープンブックテストとは何か、そしてその要件(思考プロセスなどをテストするため)は理解していますが、(それはロングショットです)「移植」には何が含まれますか?「移植」とは何かについて漠然とした考えがあります。
c - C コードを Ruby に変換する方法はありますか?
プロジェクトのために Ruby に変換する必要がある膨大な量のレガシー C コードを抱えています。
Ruby から C へのトランスレータをオンラインで見たことがありますが、その逆はありません。この特定の問題にアプローチする簡単な方法はありますか?
c# - 「レガシー」WPF アプリケーションの単体テスト
私が取り組んでいる製品は、過去 6 年間開発されてきました。それは、非常に複雑なパーツ WPF/パーツ レガシー アプリケーションへの一般的なデータ入力ポータルとして始まりました。このシステムは、何年もの間、単一の単体テストなしで開発されてきました。ここで、包括的な単体テスト フレームワークの要点が提起されました。私は最近、この製品に取り組むために採用され、「テスト」を行う任務を負っています。過去 6 年間製品に取り組んできたチームが「アジャイル」を採用したため、このプロジェクトにはビジネス ルールのドキュメントや設計ドキュメントがまったくありません。
一部のモジュールの単体テストを作成しようとしています。しかし、メソッドをざっと見ただけではその意図が明らかにならないため、何をモックするのか、テスト フィクスチャをどのようにセットアップするのか、最終的には何をテストするのかがわかりません。また、コードが特定の方法論を念頭に置いて開発されていないことに気付きました。
状況を考えると、Stackoverflow の善良な人々がこの状況を救う方法についてアドバイスをくれるのではないかと考えていました。この一般的な状況について何か述べている本「レガシー コードの操作」について聞いたことがありますが、テクノロジー スタック (C#、VB、C++、.NET 3.5 、WCF、SQL Server 2005)。