最初に
本記事は、私がリーダブルコードを読んで学んだことをメモしているものです。
もし、理解が足りていない部分がありましたら、ご指摘いただけると嬉しいです。
例 ) オプション名 : —run_locally
デバッグ情報を印字するオプション
- ローカルマシンでテストする時に使う
- リモートサーバーで動かす場合はパフォーマンスの問題で使わない
問題点
- 新しいチームメンバーがこのオプションを見た時に理解できない
- オプション名から動作を理解できない
- リモートサーバーでもデバッグ情報を表示したい場合に、「—run_locally」だとおかしい気がする
- リモートなのにローカル
- デバッグ情報を表示したくない場合に「run_locally」を使わないという選択をするが、オプション名からして使わないとローカルで動かせないイメージが湧く
解決策
- オプション名に環境名「locally」が入っているのが問題なので、「—extra_logging」という名前に変える
- 直感的で明確
- デバッグ情報を印字するオプションのみではない場合は?(—run_locallyだと、抽象的な表現なので)
- オプションを増やす (オプションが増えても、それぞれのオプションの意味が明確なら大きな問題にはならない)
- 直行する概念は無理に一つにまとめようとせずに別々に使えるようにする