プログラミングスクールのフィヨルドブートキャンプの提出物のレビューでよく指摘するシリーズ。
可読性の面
可読性(他の人が読んだ時のわかりやすさ)の面から言うと、initialize(初期化)と言える処理のみ書くべきです。
そのクラスがインスタンスになっているとき、そのインスタンスが備えているべき変数の状態などを設定しておくべきです。
newしただけなのに初期化とは言えないことをやっているとそのクラスを使った人はビックリするし、勘違いから事故が起きやすくなる。
機能の面
機能の面から言うと、大抵は受け取った引数からメンバ変数を設定する程度をするのが一般的です。
例えば、newしただけで何か文字を出力してたりすると、そのクラスをテストする時に困る。拡張するときも困る。
printer = Printer.new # ここで画面に何か出ちゃう
assert printer.ready?