私たちは Rails 2.3 プロジェクトに取り組んでいる小さなチームです。簡単な説明: このプロジェクトには現在
- 460,000 行の Ruby、CSS、JS、YML (一部のプラグインとライブラリを含む)
- 350 個の ActiveRecord クラス (プロジェクトのクラスのみ)
- 最近のクラスとコントローラーでのいくつかの Rspec テスト (十分ではありません)
- 必要な宝石45個
- 2 Go データを含むデータベース。
プロジェクトは約 15 個の「モジュール」(Rails モジュールではありません) に分割され、各モジュールは他のモジュールと通信します。このプロジェクトは数年前から存在しており、Rails の専門家ではなく、複数の人々によって改善および維持されてきました。
現在の主な問題は、コードのいくつかの部分が保守しにくく、最適化されておらず、十分な「思慮分別」がないことです (いたるところにハッキングがあります)。CSS ファイルはほとんど読めません。
私たちのチームは、このプロジェクトのリファクタリングについて考えています。いくつかの解決策があります:
新しいプロジェクトをゼロから作成し、機能を 1 つずつ含めます。このソリューションの利点は、プロジェクトのすべての側面があり、コード設計についてより適切な決定を下せることです。もう 1 つの利点は、Rails 3 に更新できることです。この方法の欠如は、新しい機能を含める必要があるときに、2 つのプロジェクトを並行して維持する必要があることです。
モジュールごとに既存のコードを更新します。このソリューションの利点は、維持するプロジェクトが 1 つだけであることです。しかし、いくつかの欠点があります...古いモジュールから新しいモジュールに移動するにはどうすればよいですか? 新しいクラス名と古いクラス名の間をどのように処理するのですか? 古いコードがどこで使用されていて、削除する必要があるかを知る方法は?...などなど。
このような大規模なリファクタリングをすでに行っている人はいますか?
これについてフィードバックを経験した人はいますか?
誰かが他の解決策を持っていますか?
読んでくれてありがとう !