|
|
Регистрация Восстановить пароль |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
Результаты опроса: Функции имеют право изменять содержимое глобальных переменных? | |||
Да | 39 | 86.67% | |
Нет | 4 | 8.89% | |
Не знаю | 2 | 4.44% | |
Голосовавшие: 45. Вы ещё не голосовали в этом опросе |
|
|
Опции темы | Поиск в этой теме |
09.04.2010, 10:24 | #1 |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Доступ функций к глобальным переменным
В общем озаботился таким вопросом - Разрешать ли функциям изменять глобальные переменные? Или только чтение? Дзен программирования вмешательство в жизнь глобальных переменных не одобряет, но в конкретных реализациях это сплошь и рядом (да хоть тот же Паскаль).
Кто как считает и почему?
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
09.04.2010, 10:42 | #2 |
Старожил
Регистрация: 22.05.2007
Сообщений: 9,085
|
Если функция видит переменную, то должна иметь полный доступ как на чтение, так и на запись, иначе будет путаница. Да и не логично будет запрещать её изменение. Переменная только для чтения - константа, а тут помесь чего-то с чем-то получается
|
09.04.2010, 10:47 | #3 |
Старожил
Регистрация: 29.09.2009
Сообщений: 9,713
|
да, по причинам уже высказанным.
Разработки и научно-технические публикации :: Видеоблог :: Твиттер
Radar systems engineer & Software developer of industrial automation |
09.04.2010, 11:14 | #4 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Но смысл тогда в функциях, если они не смогут повлиять на ход вещей?
Мой ответ - "Да".
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
09.04.2010, 11:20 | #5 | |
Телепат с дипломом
Старожил
Регистрация: 10.06.2007
Сообщений: 4,929
|
И да и нет. Если нет, то тогда пускай и не видят их, а оперируют только входными параметрами. А если да - то как обычно, как все привыкли.
Я выбираю ответ да, зачем себя ограничивать? Пускай это будет вопрос стиля, кто хочет по дзену, пусть пишет по дзену. Цитата:
The future is not a tablet with a 9" screen no more than the future was a 9" black & white screen in a box. It’s the paradigm that survives. (Kroc Camen)
Проверь себя! Онлайн тестирование | Мой блог |
|
09.04.2010, 11:47 | #6 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Код:
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
09.04.2010, 11:57 | #7 |
Веб-разработчик
Форумчанин
Регистрация: 23.05.2009
Сообщений: 279
|
Это как бы не правильно, потому что после этого код намного труднее разбирать и дебагить; это не соответствует принципам изолирования разных уровней друг от друга и т. д. Но..... иногда это настолько упрощает структуру, что при разработке небольших программ, где ошибки допустить негде, а код читать кроме вас никто не будет наверное всё-таки можно....
Ответил "Да". |
09.04.2010, 12:12 | #8 |
Старожил
Регистрация: 06.08.2009
Сообщений: 2,992
|
Мне кажется, следовало спросить "можно ли использовать глобальные переменные?"
А так и правда константа получится. |
09.04.2010, 12:45 | #9 | |
Старожил
Регистрация: 04.02.2009
Сообщений: 17,351
|
Цитата:
В идеале функция должна принимать только входящие параметры, а если видеть глобальные переменные, то только для чтения и не больше. Поэтому и прикрепил опрос, потому как теория расходится с реалиями жизни. Код:
Но и это не правильно. Функция вообще должна возвращать один результат, и не менять свои входные параметры. В теории конечно .
Маньяк-самоучка
Utkin появился в результате деления на нуль. Осторожно! Альтернативная логика |
|
09.04.2010, 12:55 | #10 |
Trust no one.
Старожил
Регистрация: 07.04.2009
Сообщений: 6,526
|
Нууу... Теория теорией, но функция, в моем понимании, это та же процедура, но только которая может ответить, все ли она сделала правильно.
SQUARY PROJECT - НАБОР БЕСПЛАТНЫХ ПРОГРАММ ДЛЯ РАБОЧЕГО СТОЛА.
МОЙ БЛОГ GRAY FUR FRAMEWORK - УДОБНАЯ И БЫСТРАЯ РАЗРАБОТКА WINAPI ПРИЛОЖЕНИЙ |
|
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
присвоить из бд переменным | akimov_aleks | БД в Delphi | 6 | 07.04.2010 08:24 |
Построение графиков функций С++ (методы аппроксимации функций) | amdbodia | Общие вопросы C/C++ | 0 | 24.05.2009 15:28 |
использование функций в качестве параметров других функций | mono | Помощь студентам | 0 | 20.04.2009 18:25 |
проблема с глобальным объектом | Selebro | Общие вопросы C/C++ | 3 | 26.11.2008 20:22 |
Доступ к переменным | RealSHELS | Общие вопросы Delphi | 4 | 15.06.2008 13:14 |