我刚拿到作业的成绩,它告诉我: 在 hw2q1.c 中找到的硬编码数字:
else if (number_letter < 6 && condition_r == 0) {
else if ((sum_value % 5) != 0 || number_letter > 4) {
if (number_letter < 6 && condition_r == 0) {
硬编码号码使用减少 10 分。我不完全理解“硬编码”定义以及为什么我写 if 的方式是错误的。
谢谢你;) PS:我的代码运行良好,并且成功通过了所有测试
最佳答案
硬编码数字是整数文字。它们也被称为 magic numbers .
在您的代码中,它们是 6, 0, 5, 4
。
阅读您的代码的人不会理解它们代表什么。几周后,您可能也不记得了。
所以最好给这些数字起个名字。像这样的东西:
const int number_letter_max = 6;
const int number_letter_min = 4;
const int condition_r_check = 0;
const int sum_value_divisible = 5;
然后你的代码变成:
else if (number_letter < number_letter_max && condition_r == condition_r_check) {
else if ((sum_value % sum_value_divisible ) != 0 || number_letter > number_letter_min ) {
if (number_letter < condition_r_check && condition_r == condition_r_check)
关于c - 找到硬编码号码,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/53652217/