在 VEXcode Pro V5 中声明全局和局部变量

对于全局变量

关键:避免使用全局。

全局变量使用不当会导致程序设计不佳。 以下是一些由于全局变量使用不当而导致的不良副作用:

  • 打破模块化
  • 错误代码
  • 凌乱且非常令人困惑的代码 - 又名 意大利面代码
  • 难以调试和维护
  • 容易出错

以下是一些不错的全局变量:

int LeftEyePort = PORT1;
int RightEyePort = PORT2;
float WheelDiameter = 10.25;	
float EncPerCM = 360.0 / (WheelDiameter * PI);

int main( ) {
....
}

除非您的机器人可以在运行时更改车轮直径或连接到端口的设备类型,否则将它们声明为 const 全局变量是有意义的。

例如:

const int LeftEyePort = PORT1;
const int RightEyePort = PORT2;
const float WheelDiameter = 10.25;	
const float EncPerCM = 360.0 / (WheelDiameter * PI);

对于局部变量

  • 尝试限制“本地化”简单计数器使用单个字母。

例如

for ( int i=0 ; i< 10; i++) {
          .... 
     }

不要使用“i”来表示具有重要上下文的事物,而不是简单的计数器。

例如不要使用“e”来表示编码器值。

  • 应该与它所代表的有关;例如,使用“totalEncoder”来表示总编码器值,而不是例如, X。
  • 使用数据类型前缀变量,例如:
内部 iValue;
float fValue;  
双 dValue;
  • 不要使用前导“_”。 按照惯例,以“_”为前缀的变量用于某些非常特殊的目的,例如“指令”。 指令构造用于指定编译器应如何处理其输入。 这将在另一篇文章中讨论。 如果您不熟悉指令,建议您“不要”使用前导“_”作为变量名称的一部分。
  • 最大化可读性:
    • 对长名称使用 Camel 样式,例如,encoderPerCM、encPerRotation。 有些程序员喜欢用“_”,比如encoder_per_cm。

For more information, help, and tips, check out the many resources at VEX Professional Development Plus