String 神奇的数字总是坏的吗?
硬编码字符串是自描述性的,并且只能在一个地方使用,这被认为是一种不好的做法吗?您总是用常量变量替换硬编码字符串吗?数字呢?它们是否具有足够的自描述性而不创建变量?你能举一个例子吗?在你的观点里,一个神奇的数字是合适的?< /p> < p>我不知道你想写哪种语言,因为它们都有自己的首选解决方案,但是例如在C/C++中,A<代码> EnUM<代码>通常是方法。String 神奇的数字总是坏的吗?,string,numbers,constants,String,Numbers,Constants,硬编码字符串是自描述性的,并且只能在一个地方使用,这被认为是一种不好的做法吗?您总是用常量变量替换硬编码字符串吗?数字呢?它们是否具有足够的自描述性而不创建变量?你能举一个例子吗?在你的观点里,一个神奇的数字是合适的?< /p> < p>我不知道你想写哪种语言,因为它们都有自己的首选解决方案,但是例如在C/C++中,A EnUM通常是方法。 P> C++ C++ 11的严格类型枚举甚至更好。< P>我不知道你想写哪种语言,因为它们都有自己的首选方案,但是在C/C++中,A EnUM通常是方法。
<> P> C++ C++ 11的严格类型枚举甚至更好。< P>我不知道你想写哪种语言,因为它们都有自己的首选方案,但是在C/C++中,A<代码> EnUM<代码>通常是方法。
C++11的严格类型枚举甚至更好。硬编码字符串“只能在一个地方使用”的问题是:如果需要更改字符串,必须在代码中查找。获取程序的版本号。您可能只在从“info”菜单调用的对话框中使用它,但是如果您在那里硬编码它,那么每次更新版本号时,您都必须在“某处”找到字符串。将所有常量字符串放在一个位置会更容易 至于数值——在某些情况下(例如,在科学方程式中),偶然常数可以硬连线。通常,这仅适用于整数(在
圆周=2*pi*半径;
中,没有人会对硬编码的2
感到畏缩)。其他常量也可以在一个地方更好地定义—更易于调试和维护。例如,我更喜欢只定义一次pi
(我的首选项:pi=2*asin(1.0);
)。与e
(e=exp(1.0);
)相同
想想在六个月内查看/使用您的代码的人。你是让他们的生活更轻松还是更艰难?如果他们搬到另一个平台怎么办?这些问题可以帮助您做出正确的选择。硬编码字符串“只能在一个地方使用”的问题是:如果您需要更改字符串,您必须在代码中查找。获取程序的版本号。您可能只在从“info”菜单调用的对话框中使用它,但是如果您在那里硬编码它,那么每次更新版本号时,您都必须在“某处”找到字符串。将所有常量字符串放在一个位置会更容易 至于数值——在某些情况下(例如,在科学方程式中),偶然常数可以硬连线。通常,这仅适用于整数(在
圆周=2*pi*半径;
中,没有人会对硬编码的2
感到畏缩)。其他常量也可以在一个地方更好地定义—更易于调试和维护。例如,我更喜欢只定义一次pi
(我的首选项:pi=2*asin(1.0);
)。与e
(e=exp(1.0);
)相同
想想在六个月内查看/使用您的代码的人。你是让他们的生活更轻松还是更艰难?如果他们搬到另一个平台怎么办?这些问题可以帮助你做出正确的选择。所有这些问题的答案都是:“视情况而定”或“这是一个意见问题”。所有这些问题的答案都是:“视情况而定”或“这是一个意见问题”。好的例子和思考的事情,谢谢。好的例子和思考的事情,谢谢。