私はPythonのoptparse
モジュールを使用して私のプログラムでコマンドライン引数を扱うクラスを持っています。また、パラメータのサブセットを作成するために複数のクラスに継承されます。オプションの解析メカニズムをカプセル化するには、クラスを継承するための関数add_option
だけを公開したいと思います。この機能の機能は、optparse.make_option
です。それは単に私のadd_option
方法を持っていることをお勧め引数を* args&** kwargsとして転送する必要がありますか?
ですが、それはマニュアルにoptparse.make_option
と同じ引数を受け入れることを言うと、*args
と**kwargs
として引数を転送しますか?
事前にパラメータチェックを行う必要がありますか?ある意味では、特定のバージョンのoptparse
からそのコードを切り離すためにこれを避けたいと思います。
"add_option ...次にoptparse.make_optionを呼び出してください。"通常のadd_optionは何をしていますか?もしそうなら、それをなぜ無効にするのですか?なぜそれを無視しないのですか?サブクラスで表示されます。あなたは本当に何をしていますか? –
このクラスは、このようないくつかのアプリケーションで使用されるフレームワーク部分にあります。それは、コマンドラインを含むいくつかのソースからパラメータを取得することができます。各アプリケーションはそこからサブクラス化し、特定のパラメータを追加する必要があります。あなたはそれをカプセル化するのではなく、 'optparse'をサブクラスに公開すべきだと言っていますか? –
なぜあなたはそれを "カプセル化"していますか?複雑さを加える理由このカプセル化のメリットは何ですか?あなたの新しいクラスのユースケースは何ですか? –