Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как удалить объект со сцены по окончанию Tween? (http://www.flasher.ru/forum/showthread.php?t=150069)

iNils 06.02.2011 00:09

Цитата:

Сообщение от i.o. (Сообщение 970762)
вызвать конструктор суперкласса Sprite, если нет уверенности вызывается он по-дефолту до или после конструктора класса-наследника..

Конструктор супер класса всегда вызывается до любой строчки кода в конструкторе наследника, если не указано обратное.

Просто кто-то решил, что это якобы "хороший тон", хотя на самом деле к тону это никак не относится. Просто люди выдают свои личные предпочтения за "хороший тон".

Psycho Tiger 06.02.2011 00:20

@iNils, Отрицать конвенцию это точно не хороший тон.
Цитата:

Constructors

If a classes has instance members, write a constructor, and make it explicitly call super(), even if it does nothing else
Нетрудно догадаться, что в случае любых классов, которые имеют экземпляры следует писать super().

mikhailk 06.02.2011 00:20

Я так понимаю, без супера не обойтись, если необходимо вызвать конструктор супер класса с параметрами. Без параметров есть он или нет ни на что не влияет.

ок, ответ я получил.

iNils 06.02.2011 00:39

Цитата:

@iNils, Отрицать конвенцию это точно не хороший тон.
Забудь про нее.
Цитата:

Конвенция — (лат. conventio — договор, соглашение) — разновидность международного договора, в котором прописанные нормы являются юридически-обязующими для сторон, подписавших эту конвенцию.
Ты ее подписывал? Я нет, и не собираюсь. Она абсурдна и пытается навязать абсолютно все, даже где мне ставить пробелы. И и это при том, что родной адобовский автоформат в Flash IDE, плевать на нее хотел. Ее не разу уже разбирали и у нас, и на руФлеше и всегда все возмущались тем или иным пунктом.
Чем больше правил, тем чаще их нарушают. Описывать нужно только ключевые моменты.

Например. Название класса пишется с большой буквы. Это важный момент, так как помогает понять любому в чужом коде, что это класс.
Описывать массив как [ 1, 2, 3 ], а не [1, 2, 3] или [1,2,3]. Извини, это бред. Всем и так понятно, что в обоих случаях это массив.

Psycho Tiger 06.02.2011 01:10

Я когда-то был за её незыблемость?
Конечно, что-то из конвенции для меня кажется неправильным. И конечно, я делаю так, как удобно мне. Но именно конвенция должна лежать в основе кода.
Если не будет фундамента — то точно придёт кто-то и скажет: "будем писать классы с маленькой, а переменные с большой!".
Если есть какие-то аргументы (вплоть до не нравится), то от конвенции можно отступать. Если таких аргументов нету, то отступать не нужно. У тебя есть аргументы против написания пустого super() или что-то, что выдаст в этом дурной тон?

iNils 06.02.2011 01:15

Цитата:

У тебя есть аргументы против написания пустого super() или что-то, что выдаст в этом дурной тон?
Есть. Он не нужен. А теперь попробуй доказать обратное.

Psycho Tiger 06.02.2011 01:28

А ещё не нужны пробелы и переносы строк. И там, и там компилятор всё сделает за нас.
Но и то, и то я делаю. Визуально проще.
Почему проще с явным указанием super: не всегда конструктор имеет длину в 50 строчек. Он бывает и под 200, и под 300 (про рефактор, структуру класса и всё остальное умолчим). Это несколько экранов. Гораздо проще увидеть super() в самом верху и успокоится, что здесь всё стандартно. В противном случае нет той подсказки, которая сообщит мне, где же будет super. Мне придется пользоваться поиском.

iNils 06.02.2011 01:35

Цитата:

Но и то, и то я делаю. Визуально проще.
Тебе проще. А кому-то нет.
Цитата:

Почему проще с явным указанием super: не всегда конструктор имеет длину в 50 строчек. Он бывает и под 200, и под 300
200-300 строк в конструкторе? Мне с тобой разговаривать больше не о чем.

Psycho Tiger 06.02.2011 01:57

Цитата:

Тебе проще. А кому-то нет.
В данном случае я делаю то, что рекомендует Adobe и мне это нравится. Ты делаешь наперекор и бросаешься такими аргументами? Всем не угодишь. Где-то должна была быть поставлена точка — "так делать правильно, так нет" и её поставил создатель языка. На данный момент твои слова немного противоречат твоим же:
Цитата:

Просто люди выдают свои личные предпочтения за "хороший тон".
Помимо рекомендаций есть личные предпочтения. Вопрос в том, готов ли ты отступить от рекомендаций ради своих предпочтений или нет. Ты можешь, я могу. Но я так и не увидел причин не разделять официальные нормы написания кода.

Цитата:

200-300 строк в конструкторе? Мне с тобой разговаривать больше не о чем.
Я нигде не говорил что это мой код.

iNils 06.02.2011 02:16

1. Ты следуешь 100% всех описанных там "норм"?

2. Создатель языка? Сомневаюсь. В том же адобовском хелпе эти нормы игнорируют. Как и в автоформате в родном Flash IDE, где официально должны были поддерживаться.

3. Это не официальные нормы, а рекомендуемые. И как я уже говорил выше, общий список норм вызывает
сомнение в адекватности того, кто это писал. Поэтому я не вижу причин разделять то, что там написано.

4. Если это не твой код, то требовать от автора кода писать super в конструкторе в 200 строк, это как перед казнью отказываться от жирной пищи, потому что она вредит здоровью. Даже если представить, что там есть супер, то тебя не спасет от поиска тот факт, что он будет на 178 строке конструктора.


Часовой пояс GMT +4, время: 20:01.

Copyright © 1999-2008 Flasher.ru. All rights reserved.
Работает на vBulletin®. Copyright ©2000 - 2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Администрация сайта не несёт ответственности за любую предоставленную посетителями информацию. Подробнее см. Правила.