2017-11-20 9 views
0

私はソフトウェアを実装しており、ユーザーはタスクを開始する前に、このタスクのログファイルを作成するかどうかを決定できます。ロギングが有効になっているかどうかを確認する最もクリーンな方法は何ですか?

  • CSVライタは、ロギングは、コード全体
  • 有効になっている場合に作成したCSVライタが配置されている
  • ログに書き込むためのCSV-ライターを使用する複数の行が存在している

ロギングが有効になっていると私はそれらのいずれかを好きではないかどうかを確認するには、3通りの方法今があります。

  1. CSVライタが作成されるたびに(呼び出しのトン)
  2. csvライターインターフェイスを作成し、インターフェイスを呼び出します。インターフェイスを実装し、空のメソッドを持ち、isLoggingがfalseのときにこのメソッドを初期化する別のEmptyCsvWriterを作成する(間違っていると思われる)。
  3. csv-writerを作成し、isLoggingを渡す。すべてのメソッド呼び出しでisLoggingが有効になっている場合はチェックしてください(最初の場所でcsv-writerオブジェクトを作成するのも間違っているようです)
+1

第2のオプションは、最もエレガントなものです。すべてのコードが簡単で簡単にテストできます。しかし、CSVライターの入力を計算する必要がある場合、最初のものほど効率的ではありません。ライターがそれらを破棄すれば何も出力しません。一方、ボーナスは、noopの作者を使っていても、この入力を生成するコードのバグを検出するということです。 –

+0

ありがとうございます。あなたは答えとして投稿したいのですか?チェックマークを付けることができますか? – Thypari

答えて

2

2番目のオプションは最もエレガントです。すべてのコードが簡単になり、テストが容易になります。

しかし、csvライターの入力を計算する必要がある場合、最初のものほど効率的ではありません。ライターがそれらを破棄すれば何も出力しません。一方、ボーナスは、noopの作者を使っていても、この入力を生成するコードのバグを検出するということです。

関連する問題