はじめに
この投稿は、RPAツール「UiPath」での 設定ファイルの書き方 について記事です。
UiPathのコミュニティ「UiPath Friends」が企画する「UiPathブログ発信チャレンジ2021サマー」の 20日目の投稿でもあります。
企画の内容は こちら 。カレンダーのURLは こちら です。
設定ファイルと「固定」の話
「設定ファイルには何を書くべきなの?」という議論になると、良く「固定の値だ」とか「後で変更する可能性のある値だ」という意見が出ますが、個人的には「どちらも正解」だと思います。
設定ファイルには 「仕様的に設定ファイルに出しておいたほうが良い値」
を書くもので、その例として「たとえば、固定の値」や「たとえば、後で変更する可能性のある値」が登場します。
なので「固定」という言葉にとらわれないほうが良いと思います。そもそも「固定の定義って何?」「固定のレベルってどれくらいから?」「月1回変更って変動?年1回なら固定?」というように、基準は、人によって違うものです。
何を書けば良いのか分からない
最初は「設定ファイルに何を書けば良いか分からない」と思います。これは実装経験を積むにつれて自動的に身につくものなので、最初は分からなくても大丈夫です。
以下で「どういうものがあるか」の種類をあげてみます。
<設定ファイルに書く例>
1)後で変える可能性があるもの(設定ファイルに出しておけば後で変えやすい)
- 数値 (例:エラー時にリトライする回数)
- 文字列 (例:結果メールの送信先アドレス)
- メッセージ(例:結果メールにセットする件名)
- フラグ (例:結果メールを送信するか)
2)そんなに変わらないけどプログラム(xamlファイル)中に書きたくないもの
- URL (例:ログインURL) ※ 「テスト環境」と「本番環境」という意味では変わる可能性が高いもの
3)設定ファイルで並べて管理したいもの
- 数値 (例:要素が見つかるまでの待機時間)
- メッセージ(例:エラー時の固定メッセージ)
4)ルールをもたせるもの
- ファイル名(例:yyyyMMdd.txt 処理中に「yyyymmdd」をNow.ToString("yyyyMMdd")でReplaceする)
5)ロジックのスイッチや、書くことで処理内容を伝えるもの
- 処理方式 (暗号ハッシュ作成方式:SHA-256)
5はあまり遭遇しませんが「その値次第で処理内容も変えてしまうような項目」を指します。何をしているかを伝える意味合いもあり、ストラテジーパターン的な要素も持ちます。
設定ファイルのシートは分けるべきか
ReFrameworkの設定ファイルでは、以下のように「Settings、Constants、Assets」と分かれています。
真似をして「シートを分ける」のも良いと思います。
1つのシートにまとめて書いて進めて、項目数が多くなったら、シート分けても良いと思います。
どう書けばわかりやすいか
項目の名前は「わかりやすい」ほうが良いので、無理に英語にせず「日本語」が良いと思います。また、名前に「接頭辞」を付けると分類がしやすいです。(例:ファイルパス_注文書)
シートでは「種類や処理ブロック」ごとに項目を纏めると分かりやすくなります。場合によっては「セルの背景色」を分けても良いと思います。
Framework的な項目は「上部」に書いて、業務個別の項目は「下部」に書くなどの順番も意識すると更に読みやすいです。
エクセルという特性を利用すれば、意図的に「見やすい設定ファイル」が作れます。
また、ユーザーは「変えても大丈夫なもの」と「変えたら動かなくなるもの」の区別はつかないので、「この列は変更しないでください。」「このセルはYESまたはNOの値を設定して下さい」と注記を「大きく赤字で書く」のも良いかもしれません。
終わりに
いかがでしたでしょうか?
設定ファイルの書き方の、なにかの参考になれば幸いです。
次回はもうすこしTips的なことを書きたいと思います。
この記事が参考になったら、 LGTMをお願いします。閲覧ありがとうございました。