【いきなりStudio19】(実践編)[UiPath✖YouTube]本格的にソース・テンプレートでガチる前に、Configファイルの使い方の基本=パラメータでガチろう~Configを読み込めた後は、ソースに直打ちなんざしない( ´∀` )
オッス、3週間ぶり( ´∀` )
UiPathなんてすっかり、忘れちゃってるので
オイラも思い出しながらで
不定期に記事にしてくや( ´∀` )
さてと、前回
でConfigファイルを読み込む、
ソース・テンプレートまでは完成
したので、今回から
ソース・テンプレートを使った実践編
をやってく💃
から
までで作った機能を
Studio=ガチな方
👉ガチり
で遊んでく。
んだば、早速
前回までのソース
■Main
■RobotMain
■ReadConfi
今回は、
と同じで、まずは
YouTubeを開く
をやってくや( ´∀` )
操作
1、新規ボタンをクリック
2、新しいワークフローの作成画面が開くので、入力
適当に名前に
ReadYouTube
なんかを入力
※ここはプロジェクトパネルに表示されるので、
キャメルケースの内、
アッパーケース
👉単語の先頭が大文字始まり
で入力した名前ね。
3、プロジェクトパネルに追加されたのを確認
この機能もこのロボットオリジナルなので~~~
4、ReadYouTube.xamlを開いて引数を追加
追加する引数はとりあえず(後からいくらでも追加できるので)、
ReadYouTubeConfig:読み込んだConfigファイルの入力用引数
ReadYouTubeRunResult:処理の結果をRobotMainに返す出力用引数
でOK( ´∀` )
てな感じ
5、RobotMain.xamlを開いて、ワークフローの呼び出しアクティビティをReadConfigシーケンスの後に追加
6、ワークフロー名にReadYouTubeを選んで、引数をインポート
ReadYouTube.xamlに戻って、YouTubeを開くアクティビティを追加していく前に、
7、Configファイルの値がきちんとやり取り出来ているかを確認
メッセージにConfigファイルの
ReadYouTubeConfig("YouTube").ToString
を入力して、ログレベルはInfoに設定。ブレークポイントを設定して
左上のローカルで
でステップインしてみると
ここまで確認出来たら、今のメッセージをログとかブレークポイントは使わないので~~~
8、処理開始と処理終了のメッセージログを追加
ここでポイント①:Configファイル読み込み後の処理でソースに直打ちはしない
これまでのソース・テンプレートは、
Configファイルの読み込みまでをやる処理
👉まだ読み込み自体がないので直打ちしていた
けど、ここから先は、Configファイルの読み込み後なので
Configファイルで設定した値
=パラメータで管理出来る
👉パラメータ管理
なので、設計の4大原則
正確性
統一性
可読性
変更可能性
のうち、可読性って意味を単純に、
ソースをパッと見て、分かる
と勘違いしてる自称さんだと、
やらかしちゃうんだけど、今後の改修コストまで含めた管理を意識すると、
使う値は直打ちしない
Configファイルを開いて
ReadYouTubeConfig("YouTube処理開始").ToString
ReadYouTubeConfig("YouTube処理終了").ToString
てな感じ。
で、コイツでファイルをデバッグすると~~~
普通に、処理結果が出てきてる。
ソースに直打ちしないメリット:今の例では敢えて
Configファイルの値を
キーと値を同じ
にしたんだけど、
変更して保存後、再度、ファイルをデバッグすると、
ソースを一切触らなくても、ソースファイルが存在するフォルダの外に出してる、
Configファイルの中身を編集する
=パラメータの値を変更する
だけで、
値や文言の一部変更といった
軽微な変更の度に、
パブリッシュし直さなくてよくなる💃
ここでポイント②:ロボットの動き=構成=Config
を管理するから
Configファイル
ってゆーんだけど、いくらConfigファイルを用意したところで、
目先の可読性=可読性と勘違いして、ソースに直書きしちゃう
直書きしなくても、ソースフォルダと同じフォルダ内にConfigファイルを入れちゃう
だと、
意味なし
なので、気を付けてね( ´∀` )
一歩前へ:実際の開発現場で、この手法をやろうとすると、
さっきの自称さんに限って、「可動性が、可動性が」って人が必死に抵抗してくる人や組織もあるんだけど、
ソースに直打ちはしない=Configファイルに全て外出ししておく
キーを分かりやすい名前にしておく
ソースの解析時にはConfigファイルを参照しながらソースを解析する
ってルールを徹底しておくだけで、
別にぱっと見でも分かりにくくないでしょ( ´∀` )
・直打ちしないで、ひとつのキーでまとめて使いまわせる=パラメータで管理できる👉Configファイルの該当キーの値を変えて、再パブリッシュすら要らない改修コスト
と
・目先の可読性(読みやすさ)だけで全部直打ちして、検索とかハックしながら、バグがないように複数箇所の変更を手作業でやる改修コスト
求められる結果は同じなのに、
どちらの方が安全で、迅速に、簡単に、
変更や管理ができるんだろうね
👉プロジェクト管理
もう一歩前へ:外出しのタイミングはいつ❓👀
まあ、これに関しては、オイラは慣れちゃってるんで、
入力したい値が出てきた
Configファイルのテキストならテキストシートとか、URLならURLシートに追記
キーを呼び出す
って流れでやっちゃうけど、最初の内とか慣れないうちは
入力したい値を直打ちで入力
処理が想定通りにエラーまで含めて問題なく想定通りに動くことまで確認出来た
Configファイルに追記(ソース・リファクタリング)
キーを呼び出す(ソース・リファクタリング)
再度、同じ動きになっているかを確認(ソース・リファクタリング)
って方法で良いんじゃない( ´∀` )
このリファクタリングの作業を、
後からやればいい
いつかやればいい
動けばいいや
で何かの処理が出来上がる度にやらない人たちが、
思い思いに、
ルールもなく、
直打ち(ハードコーディング)
で場当たり的にやっていくから、
動きも遅く
無駄な処理が多く
改修も困難な
👉贅肉の多いポンコツロボット
を自分たちで作り上げるんだけどねえ( ´∀` )
と、アタッチとかでYouTubeで遊ぼう①の操作を進めたかったんだけど、
結構、文字数も増えたので、
今回はここまで( ´∀` )
恒例のソース・リファクタリング
■RobotMain
■ReadYouTube
さてと、次回は
ソース・テンプレート編と実践編の繋がりで先に説明しておきたかった
Configファイルの使い方
👉パラメータ管理
も説明が出来たので~~~
次回は、多分、今回作った変更箇所を一回、元に戻して、
前回までのソースを流用して、
各ロボットごとにテンプレートを使う方法
を説明するや( ´∀` )
まずは今回のソースを
元に戻す方法とか
バックアップとかのポイント
なんかの説明からかな( ´∀` )