Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Это равносильно объявлению сеттера, чему удивляться? (Правильнее: использование геттера как сеттера из-за передачи по ссылке)
С последним утверждением соглашусь.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
Мелкий
Отправлено: 26 Октября, 2012 - 19:18:54
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
ммм. А что не так-то?
Если значение можно вернуть по ссылке (без объявление оного в &getValue фокус не работает) - оно приватным не может быть уже по определению.
----- PostgreSQL DBA
DeepVarvar
Отправлено: 26 Октября, 2012 - 19:27:39
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Мелкий пишет:
А что не так-то?
Нет так то, что использовать такое поведение - жесть.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
goto; рекурсия; глобальные переменные; переменные переменные; вызов функции по значению переменной; упоминание пользовательских данных близко к SQL-запросам, выводу в браузер и операциям с файлами; любая работа с данными, переданными/полученными по ссылке; пространства имён (уверены ли вы, что знаете, какая именно функция будет здесь вызвана?) - далеко не полный список того, что должно вызывать чувство тревоги в той или иной мере...
----- PostgreSQL DBA
EuGen
Отправлено: 26 Октября, 2012 - 20:47:25
Профессионал
Покинул форум
Сообщений всего: 9095
Дата рег-ции: Июнь 2007 Откуда: Berlin
Помог: 707 раз(а)
Верно, все вышеперечисленное - это side-effect в той или иной мере. Говоря кратко - все, что может повести себя неожиданно, не стоит использовать. А если к тому побуждает архитектура - то что-то где-то не так.
----- Есть в мире две бесконечные вещи - это Вселенная и человеческая глупость. Но насчет первой .. я не уверен.
DlTA
Отправлено: 26 Октября, 2012 - 22:22:01
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
Мелкий пишет:
рекурсия;
чего это?
Мелкий пишет:
упоминание пользовательских данных близко к SQL-запросам, выводу в браузер и операциям с файлами;
что это такое?
DeepVarvar
Отправлено: 26 Октября, 2012 - 22:44:49
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Помог: 353 раз(а)
Мелкий, все из перечисленного выше, бывает явно необходимым. А для приведенного мной примера я не могу найти применение, которое бы отражало необходимость таких действий.
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
DlTA пишет:
чего это?
Стыдно не знать
Вызов из функции саму себя, или несколько функций вызывающихся циклически (A>B>C>A>B>C>A)
Рекурсия - полезная вещь, но и хорошее место для ошибок одновременно.
Мало ли поле переименовали, а эти проверки забыли исправить? (Добавление)
DeepVarvar пишет:
все из перечисленного выше, бывает явно необходимым
Не бывает. Бывает удобным, но не необходимым.
DeepVarvar пишет:
А для приведенного мной примера я не могу найти применение, которое бы отражало необходимость таких действий.
Я тоже.
Как не понимаю и:
- частое желание людей при написании класса-адаптера к БД запихать и коннект и результаты в один класс
- идею наследоваться от коннекта, конфига, ещё чего-нибудь столь же невнятного
- и огромную кучу других невнятных решений
----- PostgreSQL DBA
DlTA
Отправлено: 27 Октября, 2012 - 01:13:29
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
странно, в инсте учили что рекурсия это правильно, а тут вдруг ее поставили на один ряд с goto
Мелкий
Отправлено: 27 Октября, 2012 - 10:16:17
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
DlTA, передача значений по ссылке - тоже хорошая вещь. К чему приводит - см. первое сообщение темы.
Цитируя Макконнелла,
Цитата:
Для малой группы задач рекурсия позволяет создавать простые, элегантные решения. Для несколько большей группы задач она позволяет создать простые, элегантные, трудные для понимания решения. Для большинства задач она создаёт исключительно запутанные решения - в таких случаях использование простых итераций обычно более понятно. Поэтому применяйте рекурсию выборочно.
----- PostgreSQL DBA
DlTA
Отправлено: 27 Октября, 2012 - 14:34:34
Постоянный участник
Покинул форум
Сообщений всего: 2952
Дата рег-ции: Окт. 2010
Помог: 53 раз(а)
ну вот, вернулись к тому что всему свое место. (Добавление) Мелкий, а что кроме Макконнела было изучено?
Мелкий
Отправлено: 27 Октября, 2012 - 15:06:44
Активный участник
Покинул форум
Сообщений всего: 11926
Дата рег-ции: Июль 2009 Откуда: Россия, Санкт-Петербург
Помог: 618 раз(а)
DlTA пишет:
ну вот, вернулись к тому что всему свое место.
Ну а как к этому можно не вернуться, если оно так и есть?
DlTA пишет:
а что кроме Макконнела было изучено?
Конкретно по вопросу рекурсий? Не припоминаю. А что, можете предложить чего почитать хорошего?
----- PostgreSQL DBA
DeepVarvar
Отправлено: 27 Октября, 2012 - 16:58:33
Активный участник
Покинул форум
Сообщений всего: 10377
Дата рег-ции: Дек. 2008 Откуда: Альфа Центавра
Все гости форума могут просматривать этот раздел. Только зарегистрированные пользователи могут создавать новые темы в этом разделе. Только зарегистрированные пользователи могут отвечать на сообщения в этом разделе.