Показать сообщение отдельно
Старый 29.02.2012, 02:41
HardCoder вне форума Посмотреть профиль Отправить личное сообщение для HardCoder Найти все сообщения от HardCoder
  № 16  
HardCoder
 
Аватар для HardCoder

блогер
Регистрация: Apr 2011
Сообщений: 583
Записей в блоге: 2
Цитата:
Сообщение от -De- Посмотреть сообщение
Нет, надо ВЕЗДЕ, а не только в новонаписанной и потому нигде не использующейся func2, ибо возможно уже куча кода понаписана.
Так все из-за того, что править код будет сложнее (придется удалять все раньше написанные "super")? Тогда согласен: не надо лепить супер там где без них можно обойтись. Я, просто, думал что есть какая-то опасность при ОСОЗНАННОМ использовании "super" - вот и стало интересно.
Только вот не пойму кому может прийти в голову везде писать "super"...
"this" я леплю осознанно ставлю везде. Расскажу почему. Мне нужно подправить один из очень старых классов. Открываю его: там 10-15 переменных - все облеплены asdoc-ами, в итоге их обьявление занимает 30-50 строк. Лезу вглубь класса. На строчке 280-300 нахожу в нужном методе код, который нужно править. Вижу кучу переменных, что глаза разбегаются. Я же не помню что какая переменная значит. Нужно крутить колесико вверх к началу метода и смотреть не обьявлена ли эта переменная в методе(локальная). Зачем это проделывать, если по this я увижу сразу - локальная это переменная, или переменная класса.
Теперь в коде мне нужно кое-что дописать: присвоить некоему свойству класса некое значение. А как свойство называется? А фиг его знает... Опять кручу колесико вверх к началу класса. Среди 50 строчек месива из асдоков и переменных ищу нужную мне и снова кручу вниз к месту редактирования кода. А если она не в этом классе, а в базовом? Зачем все это? Не проще написать: "this." и из подсказок выбрать нужную мне вещь.
И когда таких случаев много, я начал задумываться: а не начать ли писать код как-то однотипно?
Теперь, открыв один из своих старых классов, мне нужно лишь мельком взглянуть и я уже приблизительно вижу что происходит и кто с чем чего делает. this._prop - приватная или protected переменная или константа. this.prop - метод или свойство класса/суперкласса. prop - локальная переменная. Разве не удобочитаемо и красиво?

Добавлено через 6 минут
Цитата:
Сообщение от in4core Посмотреть сообщение
а this для тех, кто не умеет нормально оформлять код и идей кроме как писать var a:int = 0 , func(a:int) this.a = a , не хватает. Обсуждение считаю глупым
По вашему это единственный случай где this может понадобится?
Цитата:
Сообщение от in4core Посмотреть сообщение
писать super, который и так срабатывает в пустом конструкторе считаю глупостью,
Ну, я пользуюсь FlashDevelop и при создании нового класса отмечаю "Generate constructor matching base class" уже не задумываясь, потому что очень часто именно этот super() в конструкторе был нужен.
__________________
Я мало чего умею, но зато хорошо умею учиться...


Последний раз редактировалось HardCoder; 29.02.2012 в 03:10.