2016-06-15 13 views
0

クラスによって異なるアクションを使用するパラメータによって、多くの異なるパラメータを持つクラスが作成されました。Python:独自のパッケージ内のクラスからクラスメソッドを分離

私は自分のメソッドを異なるケースに簡単に区別できます。メソッドの各セットは特定のパラメータに属しています。

この結果、巨大な.pyファイルが作成され、1つのクラスのすべてのメソッドが実装されました。読みやすさを向上させるために、複数のメソッドを独自のファイルに記述し、それをクラスのメソッドとして扱うためにクラスにロードすることは可能ですか?

詳細については、私のクラスは決定木です。たとえば、パラメータをツリーの縮小に使用されるプルーニング方法です。異なるプルーニング方法を使用するので、これは私のクラスで多くの行を取ります。私は各枝刈りパラメータのためのメソッドのセットを持っている必要があります。 ロード他のファイルからクラスにプルーニングして、私の意思決定ツリー.pyファイルのサイズを縮小する方法が便利です。

+0

XY問題のように聞こえます。あなたが達成しようとしていることの例を少なくとも提供してください。 –

+0

あなたは正しいです、私は事例を追加しました。 – Jonas

答えて

0

読みやすくするために、私はいくつかの提案を得ました。

  1. は簡単に人気のテキストエディタのほとんどで ワンクリックすることによって達成することができるすべての機能の定義を、折りたたみます。
  2. 関連するメソッドを隣り合わせに配置します。
  3. の例では、メソッドを分類して区別するための固有の名前を付けます。

    デフsearch_board_first():DEF search_deep_first(

    を渡すには):行動をオブジェクト指向に巨大なクラスを分割について

を通過し、親指の私のルールは再利用性を考慮することです。関数を他のクラスで再利用できる場合は、それらを別々のファイルに入れて他のクラスと独立(静的)にする必要があります。

メソッドがクラスに関連付けられていて、どこに他のメソッドがない場合でも、そのメソッドをクラス自体に囲む方が良いです。このように考えると、コードを見直すためには、とにかくクラスのプロパティを参照する必要があります。論理的には、ファイルを分割するだけで分割するのは理にかなっていません。

関連する問題