ご意見箱 (作成物の箱用)
作成したVBAに対するご意見やバグ報告などお書きください。yFlowGenについて2 - hana
2021/07/07 (Wed) 12:40:09
toowaki様
いつもお世話になっております。
hanaです。
yFlowGenはいつも使用させていただき、ありがとうございます。
2回目で申し訳ありませんが、1点確認させていただきたい点がございます。
無限ループ(while(1),ないしfor(++))内でif,else文を使用した場合、else後の動作が無い場合、フロー図がおかしいようです。(添付ファイル参照。私の勘違いであれば申し訳ございません。)
よろしくお願いいたします。
Re: yFlowGenについて2 - toowaki
2021/07/07 (Wed) 22:57:13
hana様
お教えいただきありがとうございます。
「else;」と記載した経験がなく、想定していませんでした。
C言語としては動作する記載であるため正しく描画するよう週末に修正を行います。
ありがとうございます。
Re: yFlowGenについて2 - toowaki
2021/07/08 (Thu) 00:12:38
hana様
下記githubに修正版をアップロードしました。
ご確認よろしくお願いいたします。
https://github.com/toowaki/yFlowGen_jp/releases/tag/2.6
Re: yFlowGenについて2 - hana
2021/07/08 (Thu) 13:21:13
toowaki様
いつもお世話になっております。
hanaです。
迅速な修正本当にありがとうございます。
「else;」で正常に動作することを確認いたしました。
ただ、手持ちの「C言語コーディング作法ガイド」で
書き忘れ防止の為「else()」が推奨されておりましたので
、実行したところ同じ症状が発生しました。
(私の最初のお願いの仕方が悪かったと思います。
申し訳ありません。)
また不具合ではありませんが、「else(;)」では
空のボックスが描写されました。
(意味としては正しいと思います。)
尚、周りの人間にも聞いてみたところ、else時無処理
の場合、通常はelseを書かないが途中から無処理に
変更した場合にはelseが残るケースが多いとのことでした。
宜しくお願い致します。
以上
Re: yFlowGenについて2 - toowaki
2021/07/08 (Thu) 23:54:53
hana様
ご確認いただきありがとうございます。
C言語としてelse{}という記載は文法として正しいので修正させていただきます。
if{}やif else{}については想定していたんですが、else{}という書き方を想定していませんでした。
Re: yFlowGenについて2 - toowaki
2021/07/10 (Sat) 01:32:50
hana様
elseの処理が空となる場合に対応しました。
下記githubに修正版をアップロードしました。
ご確認よろしくお願いいたします
https://github.com/toowaki/yFlowGen_jp/releases/tag/2.7
Re: yFlowGenについて2 - hana
2021/07/12 (Mon) 14:46:50
toowaki様
いつもお世話になっております。
hanaです。
修正ありがとうございます。
「else;」「else{}」共正常に動作することを
確認いたしました。
本当にありがとうございました。
Re: Re: yFlowGenについて2 - toowaki
2021/07/13 (Tue) 01:24:33
hana様
ご確認いただきありがとうございます。
なお、1週間ほどでvectorでも更新版がダウンロードできるようになります。
この度はお教えいただきありがとうございました。
Re: yFlowGenについて2 - pon
2023/07/11 (Tue) 10:21:16
「else;」の対応の関連で、
if (a) sub01(); else sub2();
が上手く展開できないようです(elseブロックが無い)
[sub01(); else sub2();]がまとめてifブロックになります
よろしくお願いします
Re: Re: yFlowGenについて2 - toowaki
2023/07/12 (Wed) 06:04:54
pon様
説明いただきありがとうございます。
このような記載方法があるんですね。勉強になります。
お教えいただいた記載法を使用した場合、不具合を含んでしまう可能性があるため、記載法を変えた方が良いと思います。
おそらくMBDツール等から自動生成したコードはこのよう記述を含む可能性があると推測しますが、人が扱うコードとしては記述を変えた方が良いと思います。
中括弧を使って範囲を明確にするなどリーダブルコードを心がけることは、今そのコードを用いて開発に関わる人たち、将来開発に関わる人たちにとってとても大事です。
ご検討よろしくお願いします。
Re: yFlowGenについて2 - pon
2023/07/12 (Wed) 15:52:36
お手数をお掛けして申し訳ありません
if (a) {
sub01();
}
else {
sub2();
}
または、
if (a) sub01();
else sub2();
を1行で書くと
if (a) sub01(); else sub2();
となるんですよね?
>このような記載方法
というよりは、コーディング規約に従っただけのことで(記述そのものは正常で何ら問題というのがコーダーとしての認識です)コーディングを短くしたかったんだと思います
確かに普通は書かないと思います(何しろ、40年近く前のソースなので…)
さて、ソースの修正が大変そうです
Re: Re: yFlowGenについて2 - toowaki
2023/07/12 (Wed) 23:00:58
pon様
修正を検討してみます。
毎日忙しくなかなかプログラミングを落ち着いてできない状況にあり、修正には時間がかかるかもしれません。
Re: yFlowGenについて2 - toowaki
2023/07/19 (Wed) 23:21:55
pon様
まずはV4.1にて「if (a) sub01(); else sub2()」等の1行に複数処理がある場合の対応をさせていただきました。ご確認お願いします。
【Release 4.1 · toowaki/yFlowGen_jp】
https://github.com/toowaki/yFlowGen_jp/releases/tag/4.1
Re: yFlowGenについて2 - toowaki
2023/08/13 (Sun) 12:11:23
pon様
V4.4にてpon様からいただいたご要望に基づき、更新を行いました。ご確認よろしくお願いします。
https://github.com/toowaki/yFlowGen_jp/releases
■対応内容
・1行の中で「;」で区切られる処理が複数記載されている場合に対応
・プロジェクト名設定の追加
・#if-#elifの条件判定にて演算子を用いる場合に対応