こんにちは、おしうみです。
この度は、初めての主催イベント「UiPathシナリオ研究会」の第一回を開催しました!
東京と大阪の同時開催で参加者は合わせて15名。UiPathについて熱くディスカッションしてきました!
UiPathシナリオ研究会とは
UiPathのシナリオ作成の方法について、参加者同士で知識・経験を共有し、ベストプラクティスを追求する会です。
今回は、「安定性」「高速性」「見やすさ」をテーマにしました!
今回のイベントで溜まったナレッジ
今回はLT, 自分流UiPathの作り方, シナリオレビュー, ディスカッションをやりました!(盛りだくさん!)
そこで、溜まったナレッジを一挙公開していきます!
UiPathの場合は「シナリオ」ではなく「ワークフロー」です
UiPathの中の人からご指摘がありました。
UiPathでは「ワークフロー」というそうです!
すみませんでした!これからは「ワークフロー」といいます!
早速UiPathワークフロー研究会に改名しました。
UiPathの場合はロボットは作りません。ワークフローを作るのです。
UiPathの中の人からご指摘がありました。。
すみません、ロボットを作るという表現はもう致しません...!
UiPath Robotという製品があるので、「Robotを作る」というのはおかしいと、言われてみればロボットは作りませんね、、、。ワークフローを作ります!
変数名は日本語OK!
変数名は日本語が使えます!
ただし2018.4から(ここは正確ではないかも)です。
Generic Value型は基本使用しない
Excelから値を読み込むときなど、Generic Value型で読み込まざるを得ない場合がありますが、それ以外はGeneric Value型は基本的に使用しないようにしましょう。
Microsoftは.NET Frameworkでハンガリアン表記法を廃止している!?
ハンガリアン表記法(ハンガリー表記法)とは、変数名に「int」「str」「dt」など型を記す方法です。
イベント終了後にいろいろ検索してみたら、Microsoftさんの開発ドキュメントにもしっかり明記されていました。(2008/10/22更新と書いてますが、現在はどうなんだろう...)
× DO NOT ハンガリアン記法を使用しないでください。
ちなみに、このドキュメントには、アンダースコアも使わないように!と書かれています!
× DO NOT アンダー スコア、ハイフン、またはその他の英数字以外の文字は使用しないでください。
これはびっくり!
開発の前段階でシーケンス図を作ろう!
シーケンス図についての説明は(個人的に)こちらが分かりやすかったです。
シーケンス図を作成すると、データの流れが分かりやすいそう!
シーケンスとフローチャートどちらを使う?
【シーケンス】
- アクティビティが見えるのが良い(フローチャートはクリックしないとアクティビティがみれない)
【フローチャート】
- 業務の流れがフロー図式されていればそのまま実装しやすい
- 分岐やループ処理が分かりやすい
- フローの線を追いかけるのが大変...
- 整理されていないと見にくい
アクティビティの表示名は分かりやすく!
少々長くなっても良いので、わかりやすい名前をつけましょう!
ハードコーディングはやめましょう!
ハードコーディングとは、固定値を直接UiPathのワークフローの中に記入することです。
できるだけ、Excelなどに記入して、そこから読み込む形で使用しましょう!
基本的にtry-catchをいれましょう!
本当に絶対エラーが起きない(「代入」アクティビティ)とか以外は基本的にtry-catchの中にいれましょう!
エラー処理は忠実に!
waitForReady(準備完了までの待機時間)の値はケースバイケース!
waitForReadyのCOMPLETEは「画面に要素が全て出現したら処理をする」という意味なので、ページ遷移をしたあとの一番最初だけ「COMPLETE」にすればOK!
あとは基本的に「NONE」か「INTERACTIVE」でOK!
繰り返し処理をするときに「Flowchart&if系」と「ForEach系」の使い分け
基本的にはForEach系でOK!
「Flowchart&if系」を使用すると、試行回数を最初に0にして、「最後まで処理されたら~~」という条件分岐をしないといけないので、少し複雑化してしまう。
ただ、繰り返し処理をする際の条件が複雑になる場合は「Flowchart&if系」を使う方が見やすい!
send Hotkeyは極力使わない!
send Hotkeyを使わざるを得ない局面が出たとしても、画像認識で「画像をクリック」アクティビティも使えるので、「最終手段はsend Hotkeyか...」と思ってもまだあきらめないで!
UiPath GOの使い方がわからない...
こちらを見れば解決!
UiPathのテクニカルサポートチームの方がツイッターで解説してくださっております!
おわりに
イベントでとても多くのナレッジが溜まりました。
私は主催側で、少し聞き逃した部分もあり、ディスカッションに加わっていないということもあり、参加者の方はもっと多くの知見が得られたのではないでしょうか!?
参加してくださったみなさまありがとうございました!