2011-07-21 11 views
4

データベースからデータを取り込み、解析されたデータからGoogleChart URLを作成するスクリプトを作成しています。私は、PieとBarという2つのタイプのグラフを作成する必要があります。そのため、両方のクラスを同じファイルに貼り付けるだけで、ファイルの数が少なくて済むのは間違っていますか?複数のクラスが1つのファイルでRubyスタイルの質問

ありがとうございます。

+4

間違っていますか?もちろん、それはあなたのコードです。それがあなたのために働く限り、素晴らしい!しかし、コードが扱いにくくなったり、将来の複雑さを追加する必要があると考えたり、他の開発者と共有していると思われる場合は、少し掃除することを検討するのがよいでしょう。 – muffinista

答えて

14

あなたは「ルビー」の道を求めているなら、それは別々のファイルにあなたのクラスを置くことです。他の人が暗示しているように、あなたのクラスを別々のファイルに配置する方がスケールが良くなります。同じファイルに複数のクラスを配置し、それらが成長し始める場合は、後でクラスを分割する必要があります。

なぜ、それらを最初から分離しないのですか?

UPDATE

私も期待したクラスによって自動ロード作品が自分のファイルにすることを言及する必要があります。たとえば、Rails環境でクラスを別のファイルに分けていない場合は、ファイルを明示的にrequireにする必要があります。これを行う最も良い場所はapplication.rbファイルです。私はあなたがRails環境にいないことは知っていますが、この回答を見つけるかもしれない他の人にとっては、この情報が役立つかもしれません。 '自動ロード' でアップデート2

は、私はRailsの自動ロードを意味しました。独自の自動ロードを設定する場合は、クラスを同じファイルに入れることができます。しかし、再び、なぜですか? RubyとJavaコミュニティは、通常、クラスが別々のファイルに存在すると考えています。唯一の例外はネストされたクラスですが、それはより高度なデザインパターンのためです。

+0

また、複数のファイルを追加して、sublime/textmateのCMD + TやVIMのファジーファイルファインダなどを有効にすることもできます。クラス(CMD/CTRL + t)を検索するには、各単語の最初の文字を入力し、数秒以内にそれをプルアップします。同じファイルに複数のクラスがある場合、必ずしもそうすることはできません。さらに悪いことに、同じファイルにいくつかのクラスがあり、それぞれが独自のクラスを持つ可能性が高いでしょう。だからときどきCMD/CTRL + Tが動作し、それ以外の時はあなたを混乱させるでしょう... – WattsInABox

3

通常、より複雑度の低いファイルは、複雑度の低いファイルよりも優れています。特に、コードを他の人と共有する必要がある場合。

+0

それ以外の誰も私が開いていないスクリプトをダブルクリックするだけです。 –

+1

この番号を低くしない限り、ファイル番号を下げるための保守性はありません。そして私はそれを正当化する方法を見つけようとするのは正気ではないと考えています。正しい道™。これらのクラスを別々のファイルに分割してください! =) –

0

間違っていません。あなたのコードが十分にシンプルであれば*それをすべて1つのファイルに入れてください。

一方、コードが後でもっと複雑になると思ったり、自動化されたテストツールを後で使用する予定がある場合は、そのすべての構造に対処すれば大きな恩恵を受けるでしょう今。

(親指の*私の個人的なルール:約200行)

関連する問題