このエントリーをはてなブックマークに追加

【UiPath 開発者向け】美しいロボットの作り方 vol.03
~繰り返し(コレクションの各要素)の使いどころ~

RPA開発者の皆さんお疲れ様です。
皆さん、美しいロボットは作れていますか?

プログラミングにおけるいわゆる美しいとは、ソースコードの書き方が統一されていて他の人が保守しやすいように整理されている
ことを指します。

さて、RPAにおける「美しい」ロボットとは何でしょうか?
アクティビティ数が少ない、処理が速い、止まりにくい、他部署へ展開しやすい…。
いろいろな観点がありますが、ここでは「見やすさ」という点に注目したいと思います。
「見やすさ」というのは保守のしやすさや、他の人が理解しやすいことを指します。
ロボットの引継ぎや自作のロボットを久しぶりに見たとき、処理が見やすいと理解や説明にかかる時間を短くすることが
できます。

本コラムでは弊社研修でよく質問されることを中心に、美しいロボット作成のヒントをご紹介していきます。
前回は[シーケンス]と[フローチャート]の違いについてご紹介しました。
>>【UiPath 開発者向け】美しいロボットの作り方 vol.02~シーケンスとフローチャートの使い分け~

[繰り返し(コレクションの各要素)]とは

[繰り返し(コレクションの各要素)]はリスト型・配列型の変数ととても相性の良いアクティビティです。
アクティビティの使い方を説明する前に、リスト型・配列型とはどんなデータなのか確認してみましょう。

String型やInt32型の変数は、変数の中に一つのデータが入っています。中のデータは、変数名を記載することで
使用することができます。(下左図)
それに対しリスト型・配列型は一つの変数の中に複数のデータを持つことができます。
変数内のデータを使う場合、何番目のデータを使用するか括弧で指定する必要があります。(下右図)
例えば、以下のデータが処理対象としてよく扱われます。

・フォルダに入っているファイルの一覧
・特定タイトルで抽出した複数のメール、など

データの持ち方のイメージ 左:String型変数、右:配列型変数

リスト型・配列型のデータのイメージはつきましたか?
ではここからは[繰り返し(コレクションの各要素)]に話を戻します。

[繰り返し(コレクションの各要素)]は、リスト型・配列型で扱っているデータの件数分、繰り返し処理を行うことができるアクティビティです。
あるロボットを例に、[繰り返し(コレクションの各要素)]を使うとどのように処理が変わるのか確認してみましょう。


例題:特定のフォルダに格納された社員の勤怠ファイル(Excel)を人数分処理する。
仕様:
・処理対象の社員は佐藤さん、田中さん、鈴木さんの3名とする。
・社員ごとの勤怠ファイルに対する処理は全く同じものとする。

処理対象ファイル例

[繰り返し(コレクションの各要素)]を使わないと…



上の図は[繰り返し(コレクションの各要素)]を使用しないで例題を作成したものです。
この場合、社員の数だけ勤怠ファイル処理を記載しなければいけません。
これには以下のようなデメリットがあります。


[繰り返し(コレクションの各要素)]を使うと!



[繰り返し(コレクションの各要素)]を使った場合は、勤怠ファイル処理の記載が1か所に統一されます。
上の図のように処理を変更することで以下のようなメリットがあります。

まとめ

今回紹介した二つの開発例は、どちらも処理の結果は変わりません。
ですが、[繰り返し(コレクションの各要素)]を使うことでワークフローの見やすさUP、変更頻度を少なくできる、
修正時のミスを減らすことができる、と開発者の目線として嬉しいことがたくさんあります。
初めて使うときは難しいと感じるかもしれませんが、メリットの多いアクティビティなのでチャレンジしてみてください。

次回は、Excelファイルの読み書きアクティビティの違いについてご紹介します。



supported by RPA HACK

このエントリーをはてなブックマークに追加

あわせて読みたい