2016-07-25 12 views
0

私は、処理されたテキストを使用してオブジェクトインスタンスを作成する前に、データに対して多くのテキスト処理を行う必要がある状況があります。私が持っている質問は、最初にテキスト処理を行い、オブジェクトインスタンスを作成するか、または未処理のテキストをオブジェクトコンストラクタに渡してそこに置くほうが良いかどうかです。基本的には:良いデザイン原則:テキスト処理コードを置く場所はどこですか?

方法1:

lots_of_text = "................." 

class_properties = process_text(lots_of_text) 

newobject = MyObject(class_properties) 

方法2:

newobject = MyObject(lots_of_text) 

両方がうまくいくとき、それは些細な問題のように思えるが、実際のテキスト処理は数百行のことができたときにコード、私は考える価値があると思う。どんな考えにも感謝します。

+0

私がこのような場合にしたいのは、両方の方法で簡単な例をコードし、どちらがきれいに見えるかを見てください。いつも正しいアプローチが1つあるとは限りません。あなたが実際にコードを書き出すまでは、おそらくあなたや他の人には分かりません。 –

+2

この質問はあまりにも一般的であり、客観的に答えるには不十分です。この一般的な質問をするのではなく、[codereview.se]に自由批評のための実際の作業コードを投稿し、これをマイナーな懸念事項として挙げることをお勧めします。投稿する前に[How to Ask](http://codereview.stackexchange.com/help/how-to-ask)を必ずお読みください。 –

答えて

0

設計時には、責任の分離を検討してください。テキスト処理の責任はMyObjectですか?それはコンストラクタで処理することを除いて、lots_of_textの内容を必要としますか? (パフォーマンス上の理由などで、後で処理を延期することは意味がありますか?)これらの質問に対する答えが「いいえ」の場合、テキスト処理はMyObjectに属しません。

関連する問題