【UiPath 開発者向け】UiPath 美しいロボットの作り方vol.01
~条件分岐とフロー条件分岐の使い分け~

RPA開発者の皆さんお疲れ様です。
皆さん、「美しい」ロボットは作れていますか?
プログラミングにおけるいわゆる「美しい」とは、ソースコードの書き方が統一されていて他の人が保守しやすいように整理されていることを指します。
さて、RPAにおける「美しい」ロボットとは何でしょうか?
アクティビティ数が少ない、処理が速い、止まりにくい、他部署へ展開しやすい…。
いろいろな観点がありますが、ここでは「見やすさ」という点に注目したいと思います。
「見やすさ」というのは保守しやすさや、他の人が理解しやすいことを指します。
ロボットの引継ぎや自作のロボットを久しぶりに見たとき、処理が見やすいと理解や説明にかかる時間を短くすることができます。
本コラムでは弊社で実施する研修でよく質問されることを中心に、美しいロボット作成のヒントをご紹介していきます。
[条件分岐]と[フロー条件分岐]の違い
今回は、研修でもよく質問されるUiPathの分岐処理についてご紹介します。
UiPathで分岐処理を作るときによく使用するアクティビティは[条件分岐]と[フロー条件分岐]の2種類ありますが、
どちらを使用しても同じ動作を実施します。使い分けるポイントを以下にまとめます。
[条件分岐]
・単純な分岐処理に使用する
・[シーケンス]内で使用することが多い
・後続の処理が大きく変わらない場合に使用する
[フロー条件分岐]
・複雑な分岐が発生する処理に使用する
・[フローチャート]内にしか配置することができない
・後続の処理が大きく変化する場合に使用する
あるロボットを例にそれぞれのアクティビティの使い分けを見てみましょう。
例題:社員に健康診断の案内メールを送信する
仕様:
・入社日が2020年3月以前の社員を対象に、メールを送信する
・メール本文は以下のような構成にする
1.あいさつ文を入れる
2.「基本健診」の案内を記載する
3.35歳以上の社員には「人間ドック」の案内を追加する
4.女性社員には「婦人科健診」の案内を追記する
5.締めのあいさつ文を入れる
[条件分岐]が有効な場合

以下の二つの条件は、後続処理の変化が小さいので[条件分岐]を使用します。
条件1:35歳以上の社員には「人間ドック」の案内を追加する
・35歳以上:基本健診案内を記載→人間ドック案内を記載→メール送信
・35歳未満:基本健診案内を記載→(何もしない)→メール送信
条件2:女性社員には「婦人科健診」の案内を追記する
・女性 :基本健診案内を記載→婦人科健診案内を記載→メール送信
・女性以外:基本健診案内を記載→(何もしない)→メール送信
〇:条件分岐:追記処理がコンパクトにまとまり処理が見やすい
×:フロー条件分岐:分岐処理が長く処理を追いづらい
[フロー条件分岐]が有効な場合

以下の条件では、後続の処理が大きく変化するので[フロー条件分岐]を使用します。
条件:入社日が2020年3月以前の社員を対象にメールを送信する
・対象 :案内文テンプレートを読み込み → メール作成 → メール送信
・対象外:何もしない
×:[条件分岐]:Else枠がずっと表示され、全体の流れが見づらい
〇:[フロー条件分岐]:全体の処理の流れが分かりやすい
まとめ
[条件分岐][フロー条件分岐]は大きな違いは見た目だけで、どちらを使用しても動作は変わりません。
ですが、見た目は「見やすさ」という美しさに実現するためにとても重要です。
数週間後にロボットを見直したときや、他の人が作ったロボットを修正するときなど、処理を読み解く必要があります。
この読み解く時間は「見やすさ」に大きくかかっています。
見やすく分かりやすい処理の作成で、未来の工数削減と業務効率化を心掛けましょう。
次回は、[フローチャート]と[シーケンス]の使い分けについてご紹介します。


supported by RPA HACK