Могу ли я узнать мнение людей об именах переменных при передаче в функции? Я просмотрел несколько руководств, но не нашел ничего конкретного по этому поводу.
Я передаю переменную функции и для ясности (надеюсь) я даю ей то же имя в main, что и в функции. Я знаю, что это не одна и та же переменная (просто переданная по значению), но они представляют одно и то же; есть ли причина для изменения названия, которая важнее, чем добавленная им сложность?
Пример, я использовал:
main(){
int cakes, cost, total;
cakes = 2;
cost = 11;
total = sum(cakes, cost);
printf("The total cost for %d cakes is '%d'.\n", cakes, total);
return 0;
}
int sum(int cakes, int cost){
int total;
total = cakes * cost;
return total;
}
Должен ли я использовать, например, fcakes, fcost, ftotal в функции, и если да, то почему?
Ваше здоровье,
W
Кто-то правильно заметил, что функция - это продукт, а не сумма, я изменил пример в голове, когда писал его, и сохранил старое имя функции. Я не буду поправлять, поскольку некоторые ответы относятся к sum. Я думаю, что были высказаны веские аргументы в пользу того, что, хотя это в большинстве случаев безвредно в простых ситуациях, лучше быть более абстрактным для масштабируемости / возможности повторного использования.





Если вы хотите использовать функцию Sum не для тортов, а для чего-то еще, может быть важно присвоение имен.
main(){
int cakes, bananas, apples, cost, bananascost, applecost, total;
cakes = 2;
bananas = 42;
apples = 69;
cost = 11;
bananascost = 5;
applecost = 12;
total = sum(cakes, cost);
printf("The total cost for %d cakes is '%d'.\n", cakes, total);
total = sum(bananas, bananascost);
printf("The total cost for %d bananas is '%d'.\n", bananas, total);
total = sum(apples, applecost);
printf("The total cost for %d apples is '%d'.\n", apples, total);
return 0;
}
int sum(int number1, int number2){
int result;
result = number1 * number2;
return result;
}
Это неплохая идея, но я думаю, что проблема больше связана с дизайном. Например, функция суммы - это суммирование (или что-то еще), а не добавление только тортов и стоимости. Выполнение функции как можно более общей (даже для того, чтобы ее можно было легко использовать в другом проекте) решает такие проблемы.
Если вы используете одно и то же имя в main и в sum, у вас есть две разные переменные с разной областью действия с одним и тем же именем. Это может быть сложно отладить.
Это действительно ваше дело - правильного ответа нет. Я бы не стал этого делать, поскольку это похоже на старую венгерскую нотацию:
fCakes- гдеfозначает значение с плавающей запятой.