2

私はRailsアプリの世話をしています.Railsアプリでは、いくつかの重要なユーザー向けの部分の名前が変更されようとしています(URLなど、「ブログ」から「ジャーナル」への名前変更などの他の変更)

時間の経過とともに、すべてのメソッド、ルート、およびクラス名のコードベースに古い名前が大量にあると、読み取りと保守が困難になるのではないかと少し心配しています。

このような変化に対処する最善の方法は何ですか?

また、メソッドやクラス名のエイリアスを作成したり、ここで移行を実行したりするときの落とし穴はどこにありますか?

ありがとう

4

2 に答える 2

1

アプリが開発中で、まだ本番環境に移行していない場合は、戻って移行/モデル/ビューなどの名前を変更し、a を実行して完了しても問題ありませんrake db:migrate:reset。名前の変更によって何も壊れていないことを確認するのに十分なテストを行う必要があります。壊れている場合は、その領域のテスト カバレッジを増やす必要があります。

現在運用中のアプリに対してこれを行う限り、変更の表面積を減らすために段階的に行うことをお勧めします。

ルートを変更する

これがおそらく最大の変更点です。最初にルートを更新すると、すべてのビューを修正する機会が得られます。

モデル/コントローラーを更新する

データベースを変更せずにこれを行うことができます。を使用して、モデルが新しいデータベース テーブルを指すようにすることができますset_table_name "OldTable"。これは、リリースの帯域外でデータベースの変更を行うことができることを意味します。

データベースを変更する

うまくいけば、移行を使用している場合は、テーブルの名前を変更して set_table_name を削除するだけです。

于 2009-11-02T16:02:21.283 に答える
0

内部クラスの名前を外部名と一致するように変更します。そうしないと、コードについて話すときに混乱が生じるだけです。確かに、ルーティングによって外部の変更を簡単に切り替えることができますが、Web ページに表示されているコードを読み取ることに勝るものはありません。

名前を変更した後、移行をテストするためにライブ データを使用してステージング環境にアプリをロードし、タランチュラ ( http://github.com/relevance/tarantula ) などを実行してアプリをクロールし、明らかなデータを探します。あなたとあなたのテストが見逃したかもしれない壊れた問題。

于 2009-11-02T15:25:24.900 に答える