恭喜,你发布的帖子
发布于 2025-09-30 09:32:09
7楼
坦率地讲,楼主的这个FC写得还有改善空间。
首先可以自行了解一下什么是子程序/函数的“逻辑内聚性”,官方的VAL_STRG指令就挺好用的。
其次,保留原代码风格的话,也是可以改进一下以下代码切片:
//下方指令的IN完全可以使用公共tempIN代替,包括此整条指令都可以公用化
VAL_STRG(IN := #Value_UInt,
SIZE := #Size,
PREC := 0,
FORMAT := W#16#0000,
P := 1,
OUT => #tempStr);
再次,使用CASE,难免会有部分代码是不会执行的“死代码”,在效率上有影响,另外variant的使用有副作用的。
胡言乱语,仅供参考。
你的建议我看过了。谢谢在此讨论问题,下文也仅仅做为技术讨论。
1,Value_XXX是无法用tempIN替代的。你可以试一下,是不行的。
2,使用CASE的确有些代码是不执行的。
3,Variant的副作用的问题,我也觉得Variant有些问题。不过,只要熟悉了,摸好Variant的脾气,副作用都可以消除。
请填写推广理由:
分享
只看
楼主