とき、文字列リテラルをリファクタリングするための時間をうまく利用のですか?

StackOverflow https://stackoverflow.com/questions/562462

質問

私は、文字列は、ほとんどの時間コードに書かれているプロジェクトに始めています。多くの文字列が唯一のいくつかの場所で使用されるかもしれないが、いくつかの文字列は、多くのページ全体で共通している。

アプリはかなり十分に確立し、うまく実行されるということで、定数にリテラルをリファクタリングするために私の時間をうまく利用か?そうすることへの長期的な利益になりますか?

役に立ちましたか?

解決

このプロジェクトは、将来にサポートする必要がある場合にのみ、この時間をうまく利用です。あなたは、定期的にこのシステムを拡張/維持されます。しかし、これは素晴らしいアイデアです。

1)単一スペルミスなどの文字列リテラルに関連するリスクの大きな度は通常、実行時にのみ検出することが可能です。実行時エラーのリスク低下は、彼らがイライラ/恥ずかしいことができるように深刻な利点である。

2)彼らは別のシステムを参照するために使用されている場合にも、彼らはこれまで、たとえば、変更する必要がなければならない(テーブル名、サーバー名など)のように、彼らはそれらの他のシステム名が変更されたときに更新することは非常に困難です。それらを一元化し、それは些細な問題だ。

他のヒント

を検討するための一つの共通点は、国際化のだろう。あなた(またはあなたのmuckity-mucks)は、これまであなたがそれらの文字列リテラルを持つ感謝するつもりだ(など)メキシコやフランスでは、あなたの製品を販売したい場合は、のないのコードベース全体に散らばってます。

編集:私はこれは直接あなたの質問に答えていない実現するので、私は他の回答の一部は再アップ投票しています:3のルール、などが挙げられます。私は、既存のコードベースの話をしている理解し、それは最初から国際化を組み込むことについて話を少し遅れてです。それはあなたが最初から習慣にしているときに実行するように簡単です。

私はリファクタリング3のルールを適用したいです。それが3回以上発生した場合、コードを更新する必要があります。

文字列が複数の場所で使用されている場合は、

、それをリファクタリング。それが唯一の場所で使用されている場合は、一人でそれを残しています。

すべてのあなたの共通の文字列をリファクタリングしている場合は、

、それが簡単にそれらを翻訳/国際化することができます。それは彼らがすべてのプロパティファイルにしている場合でも、簡単です、またはあるものは何でもあなたの言語と同等ます。

  

のアプリはかなり十分に確立し、うまく実行されるということで、定数にリテラルをリファクタリングするために私の時間をうまく利用か?

それがあるように、

いいえ、あなたはより良いそれを残しています。

  

そうすることへの長期的な利益になりますか?

、誰もそのコードには触れていない場合、メリットは何もありません。

あなたが何ができるか、しかし新しいリテラルを追加しないようです。しかし、私はかなり彼らは道を既存のままになります。

あなたは、おそらくより良い眠りにあなたの自由でそれらをリファクタリングできます。

おそらくあなたの注意を必要とし、すでに他のいくつかのバグがあります。代わりに、これらを修正します。

最後に、あなたが管理している場合、あなたは先に行く、あなたのタスクリストに「リファクタリング」を追加します!!!

私は

文字列だけ変えるよりも国際化へのよりがあることに注意してください(通貨は、UIがなど右から左に記述する言語にadpatedしなければならない)、JMDに同意します

あなたのアプリケーションを18Nしたいドント場合であっても、多分、再利用明日、一度だけ使用され、その文字列は本日以降、数回あなたの文字列をリファクタリングする有用であろう、とit'sがハードコードならば、あなたは気づいていないかもしれそれの星すべての場所で文字列を複製します。

ベストLET眠っている犬は嘘。あなたは18-ゴツゴツ回使われている文字列を変更する必要がある場合は、ええ、先に行くと、一定のどこかにそれを回します。あなた自身が定IZE可能性があり、文字列を持つモジュールで作業見つけた場合、あなたはそれのように感じる場合は、それを行います。しかし、to-doリストの一番下にあるべき定数へのすべての文字列を変更し、全アプリ...を経ています。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top