Хорошая практика стиля: переменные C - PullRequest
0 голосов
/ 11 мая 2018

Могу ли я узнать мнение людей об именовании переменных при передаче в функции?Я просмотрел несколько руководств, но не вижу в этом ничего конкретного.

Я передаю переменную в функцию и для ясности (надеюсь) я даю ей то же имя вглавное как в функции.Я знаю, что они не являются одной и той же переменной (просто передаются по значению), но они представляют одну и ту же вещь;есть ли причина для изменения их имени, которое важнее, чем сложность, которую он добавляет?

Пример, который я использовал:

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

Ответы [ 3 ]

0 голосов
/ 11 мая 2018

Это неплохая идея, но я думаю, что проблема больше связана с дизайном. Например, функция sum - суммирование (или что-то еще), вместо добавления только тортов и стоимости. Выполнение функции как можно более общей (даже легко используемой в другом проекте) решает проблемы такого рода.

0 голосов
/ 15 мая 2018

Если вы используете одно и то же имя в main и в sum, у вас есть две разные переменные с разными областями действия с одинаковыми именами. Это может быть трудно отладить.

0 голосов
/ 11 мая 2018

Если вы хотите использовать вашу функцию 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;
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...