LINUX.ORG.RU

История изменений

Исправление ozkriff, (текущая версия) :

насчёт неизменяемых переменных внутри функций я знаю, но каждый раз писать example(const int x, const int y, и т.д.)...

Если параметр передается по копированию, то это ладно. Но для указателей я бы таки писал const везде, где можно.

gcc -Wall приму к сведению.

Лучше gcc -Wall -Wextra -pedantic и -std=c89 или -std=c99. И еще каким-нибудь строгим статическим анализатором заодно)

Насколько эти глобальные переменные мешают? Ведь их очень мало. Я знаю что нужно избегать большого их количества.

В данном конкретном случае эти три переменные, конечно, никому жизнь не портят. Но, когда программа начинает разрастаться, нужно быть дико внимательным, чтобы они не расползлись по коду и не размножились. Особенно плохо становится, когда между ними появляется какая-нибудь неявная связь, и перед вызовом каких-нибудь функций приходится «настраивать» для них глобальное окружение. Лучше сразу писать без глобальных изменяемых переменных.

Тем более я теперь все глобальные переменные буду именовать с двумя подчёркиваниями в начале.

Хм, я видел, что если они все-таки нужны, им просто префикс g_ дают. По крайней мере парочка первых попавшихся кодстайлов в гугле с этим согласна и вот: http://stackoverflow.com/questions/1722112/what-are-the-most-common-naming-co...

Global variables: g_lowerCase or g_lower_case (searchable by g_ prefix)

Кстати, из принятого ответа оттуда :) :

Global variables: just don't use global variables. They are evil.

Исходная версия ozkriff, :

насчёт неизменяемых переменных внутри функций я знаю, но каждый раз писать example(const int x, const int y, и т.д.)...

Если параметр передается по копированию, то это ладно. Но для указателей я бы таки писал const везде, где можно.

gcc -Wall приму к сведению.

Лучше gcc -Wall -Wextra -pedantic и -std=c89 или -std=c99. И еще каким-нибудь строгим статическим анализатором заодно)

Насколько эти глобальные переменные мешают? Ведь их очень мало. Я знаю что нужно избегать большого их количества.

В данном конкретном случае эти три переменные, конечно, никому жизнь не портят. Но, когда программа начинает разрастаться, нужно быть дико внимательным, что бы они не расползлись по коду и не размножились. Особенно плохо становится, когда между ними появляется какая-нибудь неявная связь и перед вызовом каких-нибудь функций приходится «настраивать» для них глобальное окружение. Лучше сразу писать без глобальных изменяемых переменных.

Тем более я теперь все глобальные переменные буду именовать с двумя подчёркиваниями в начале.

Хм, я видел, что если они все-таки нужны, им просто префикс g_ дают. По крайней мере парочка первых попавшихся кодстайлов в гугле с этим согласна и вот: http://stackoverflow.com/questions/1722112/what-are-the-most-common-naming-co...

Global variables: g_lowerCase or g_lower_case (searchable by g_ prefix)

Кстати, из принятого ответа оттуда :) :

Global variables: just don't use global variables. They are evil.