开源改变世界

误导性代码注释和可变名称。 #1326

推推 grbl 3年前 (2023-01-23) 104次浏览

打开
J-Dunn 打开了这个问题 2017 年 12 月 3 日 · 0 条评论

注释

误导性代码注释和可变名称。 #1326

在限制.c

// 在归位循环中,锁定并防止所需的轴移动。
如果 (sys.state == STATE_HOMING) { st.step_outbits &= sys.homing_axis_lock; }

似乎“axis_lock”是 axis_unlock。变量名和注释都与正在发生的事情相反。由于锁不是锁,因此将其称为掩码会更合乎逻辑。注释不应指锁定“所需”轴,而是解锁它们或锁定“不需要”轴:例如。

// 在归位循环中,锁定并防止不需要的轴移动。
如果 (sys.state == STATE_HOMING) { st.step_outbits &= sys.homing_axis_mask; }

建议:
sed -i ‘s/axis_lock/axis_mask/g’ *.c *.h
sed -i ‘s/axislock/axis_mask/g’ *.c *.h

不幸的是,一直在努力对 GRBL 进行大量注释,但通常注释会增加混乱,变量名称不明确,甚至会产生误导。

读者最终到达那里,但只有在双重或三次检查代码实际做了什么之后才能到达那里,因为评论表明他弄错了。

有一堆变量,如 ndigit 、 set_idx 只是不扫描。通常会有相当冗长的注释试图解释代码行,这些代码行可以用更好的、不那么神秘的变量名来证明。

sed -i ‘s/ndigit/numdigits/g’ nut_bolt.c
sed -i ‘s/set_idx/setting_index/g’ *.c *.h
sed -i ‘s/N_AXIS/NUM_AXES/g’ *.c *. H

是否愿意实施任何建议的改进?

喜欢 (0)