変数と引数の関係について

こんにちは
UiPath Studio 2022.4.3EnterPrise Editionユーザです。

現在作成中のWFで、Invoke Workflow Fileで社内システムログイン.xaml(以下サブルーチンと呼びます)を呼び出しています。前任者のWFをコピーして作成しています。
ログインIDとパスワードは引数でMain.xamlからサブルーチンに渡していますが、パスワードを入力するInput Dialogはサブルーチン側にあります。
つまり、Main.xamlからサブルーチンに引数でパスワードを渡しても、サブルーチン側で上書きされます。したがって、Main.xamlからサブルーチンにパスワードを渡す意味はありません。
これは、単純なプログラムミスと考えますが、その認識で正しいでしょうか。以前別の職場で似た構造を見たことがありましたが、いちがいに誤りとは言えないといわれた記憶があるため、念のため確認をさせてください。

@gorby,

I feel this is violation of coding principle DRY ( “Don’t Repeat Yourself” (DRY) is a software development principle that encourages developers to avoid duplicating code in a system.)

If in both the workflows password going to be same, use in either of any. If not going to same, the arguments will not be overwritten until and unless subroutine also get’s the user id and password in argument.

Hi Thank for your kind advice!
How can I refer your suggested documents? Hope to share the URL of that documents.

Regards,
Gorby

It’s general principle you can refer from anywhere but here for quick reference.

Thank you!
BTW
Is her typo of per?

:grinning: it was here. Let me know if any additional information required. Cheers!

サブルーチン側のプログラムミスだと思います。
ログインID、パスワードを手入力せずに、プログラムで固定でAdminユーザー等でログインしたい場合がありますから...

サブルーチン側でログイン用の引数がある場合とない場合をチェックして(string.IsNullOrEmpty等でチェック)処理する必要があると思います。

もっとも、毎回必ず手入力させるという仕様であれば、プログラムミスとは言えませんが...

誤解があるようなので説明します。
ログインIDについてはご指摘のようなことがありますが、パスワードについては、Mainからサブルーチンに渡す値はありません。(私が課題を提起したのはログインIDではなくパスワードの方です)

メインでログインIDを取得する状況が分かりませんが、メインで手入力されているのならメイン側のプログラムミスで、サブルーチンに入力を任せるべきだと思いますが...
メインが無人の自動化プロセスで、固定のログインユーザーを使用したいというような状況であれば、前述のようにサブルーチン側の仕様不備だと思います。