|
Использование глобальных переменных |
|
|
|
 |
Ответов
|
Jan 12 2017, 12:39
|
Местный
  
Группа: Участник
Сообщений: 301
Регистрация: 13-12-15
Из: Харьков
Пользователь №: 89 682

|
Цитата(scifi @ Jan 11 2017, 10:31)  Неправда. static позволяет не засорять глобальное пространство имён. Скажем, если в программе два десятка модулей, и в каждом - десяток своих переменных, то это уже 200 глобальных переменных. Кому нужен этот бардак? Ну бардак все-таки не хаос. Переменные видимы в определенном порядке и избыточное количество не критично: пусть лучше уж валяется в глобальном списке, чем тратить на нее семиразовое нажатие клавиш. И реальная необходимость возникла не из-за "засорять", а именно "спрятать" от второго. Но это уже флейм, ибо Вы обрезали главное: один программист - сам себе хозяин. И перевод из static в глобальную особого значения не имеет: насколько я понимаю имелись ввиду переменные static исключительно внутри функции. Но чтобы следовать упомянутому ТС принципу "использование глобальных переменных нужно максимально минимизировать" перевода из static в глобальные недостаточно, нужно перевести эту переменную в параметры. Этот принцип никак не регламентирует количество глобальных переменных. Было: void func() { static int value =0; // модифицирующий код value; } Стало: int value =0; void func(int* value) { // модифицирующий код value; }
|
|
|
|
|
Jan 14 2017, 10:53
|

Гуру
     
Группа: Модераторы
Сообщений: 8 455
Регистрация: 15-05-06
Из: Рига, Латвия
Пользователь №: 17 095

|
QUOTE (aiwa @ Jan 12 2017, 14:39)  Переменные видимы в определенном порядке и избыточное количество не критично: пусть лучше уж валяется в глобальном списке, чем тратить на нее семиразовое нажатие клавиш. И реальная необходимость возникла не из-за "засорять", а именно "спрятать" от второго. Но это уже флейм, ибо Вы обрезали главное: один программист - сам себе хозяин. И перевод из static в глобальную особого значения не имеет Из соседней ветки: QUOTE (Mister_DSP @ Jan 13 2017, 08:13)  Создаю библиотеку (lib) в Keil по исходникам из множества файлов. Затем получившуюся библиотеку пристыковываю к другому проекту (главному).
При линковке выдаёт ошибку: найдены одинаковые имена в libfile.o и module.o
Исходные тексты программ не моего авторства, около 100 имён совпадает, так что переименовывать не вариант. Попробуйте убедить его, что он сам себе хозяин и static значения не имеет
--------------------
На любой вопрос даю любой ответ"Write code that is guaranteed to work, not code that doesn’t seem to break" ( C++ FAQ)
|
|
|
|
Сообщений в этой теме
demiurg1978 Использование глобальных переменных Jan 9 2017, 18:26 zltigo Цитата(demiurg1978 @ Jan 9 2017, 20:26) н... Jan 9 2017, 19:22 desh Цитата(demiurg1978 @ Jan 9 2017, 21:26) Х... Jan 9 2017, 20:28 demiurg1978 Цитата(desh @ Jan 10 2017, 02:28) ...
Ска... Jan 9 2017, 20:33 zltigo Цитата(desh @ Jan 9 2017, 22:28) Плохая п... Jan 9 2017, 20:57 aiwa Цитата(demiurg1978 @ Jan 9 2017, 20:26) Х... Jan 10 2017, 01:59 Dima_G Цитата(demiurg1978 @ Jan 10 2017, 01:26) ... Jan 10 2017, 03:18 Непомнящий Евгений Цитата(demiurg1978 @ Jan 9 2017, 21:26) Х... Jan 10 2017, 06:30 demiurg1978 Цитата(Непомнящий Евгений @ Jan 10 2017, 12... Jan 10 2017, 07:11  Сергей Борщ QUOTE (demiurg1978 @ Jan 10 2017, 09:11) ... Jan 10 2017, 07:33   k155la3 Цитата(Сергей Борщ @ Jan 10 2017, 10:33) ... Jan 11 2017, 09:50    zltigo Цитата(k155la3 @ Jan 11 2017, 11:50) Позв... Jan 11 2017, 11:31  Непомнящий Евгений Цитата(demiurg1978 @ Jan 10 2017, 10:11) ... Jan 10 2017, 08:17   demiurg1978 Цитата(Непомнящий Евгений @ Jan 10 2017, 14... Jan 10 2017, 11:24    Непомнящий Евгений Цитата(demiurg1978 @ Jan 10 2017, 14:24) ... Jan 11 2017, 06:05     demiurg1978 Цитата(Непомнящий Евгений @ Jan 11 2017, 12... Jan 11 2017, 08:25    Сергей Борщ QUOTE (demiurg1978 @ Jan 10 2017, 13:24) ... Jan 11 2017, 12:52     Непомнящий Евгений Цитата(Сергей Борщ @ Jan 11 2017, 15:52) ... Jan 11 2017, 13:25      Сергей Борщ QUOTE (Непомнящий Евгений @ Jan 11 2017, 15... Jan 12 2017, 10:05     Dog Pawlowa Цитата(Сергей Борщ @ Jan 11 2017, 15:52) ... Jan 14 2017, 16:29 scifi Цитата(aiwa @ Jan 10 2017, 04:59) Само кл... Jan 11 2017, 08:31 demiurg1978 Хм... Всем спасибо. Некоторым - в который уже раз.... Jan 11 2017, 08:56 Непомнящий Евгений Цитата(aiwa @ Jan 12 2017, 15:39) Ну бард... Jan 16 2017, 05:14 Укушенный воблой Цитата(demiurg1978 @ Jan 9 2017, 19:26) Х... Jan 14 2017, 18:03 aiwa Цитата(Сергей Борщ @ Jan 14 2017, 12:53) ... Jan 16 2017, 08:26 Непомнящий Евгений Цитата(aiwa @ Jan 16 2017, 11:26) 7-кратн... Jan 16 2017, 10:14 aiwa Цитата(Непомнящий Евгений @ Jan 16 2017, 12... Jan 17 2017, 02:54
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0
|
|
|