コマンドラインオプションの処理をプログラムのメイン部分に結びつけるのは「絶対に」避けるべき
ユーザーの入力とプログラムを橋渡しするモジュール: プロジェクト名.CLI
- エントリポイント: run コマンドラインの引数を受け取る関数
Issues.CLI
プロジェクトの構造に関する規約
-
lib ソースコードを格納する
-
lib/プロジェクト名 アプリケーションの主なソースコードを格納する 1つのモジュールにつき、1つのファイル それぞれのモジュールは、プロジェクトと同名のモジュール内にネームスペースを確保する
例: Issues.CLIの場合
lib ├ issues │ └ cli.ex └ issues.ex ```
Elixirにはオプション解析モジュール「OptionParser」がある https://hexdocs.pm/elixir/master/OptionParser.html