Posted at

【イベントレポート】2019/10/19 UiPathシナリオ研究会を開催しました!

こんにちは、おしうみです。

この度は、初めての主催イベント「UiPathシナリオ研究会」の第一回を開催しました!

東京と大阪の同時開催で参加者は合わせて15名。UiPathについて熱くディスカッションしてきました!


UiPathシナリオ研究会とは

UiPathのシナリオ作成の方法について、参加者同士で知識・経験を共有し、ベストプラクティスを追求する会です。

今回は、「安定性」「高速性」「見やすさ」をテーマにしました!

image.png


今回のイベントで溜まったナレッジ

今回は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のテクニカルサポートチームの方がツイッターで解説してくださっております!

https://twitter.com/UiPathJapan_TS/status/1182480687544205314


おわりに

イベントでとても多くのナレッジが溜まりました。

私は主催側で、少し聞き逃した部分もあり、ディスカッションに加わっていないということもあり、参加者の方はもっと多くの知見が得られたのではないでしょうか!?

参加してくださったみなさまありがとうございました!