Всегда импортирую слишком много классов ... Я думаю, - PullRequest
0 голосов
/ 18 января 2011

У меня есть базовая проблема с определением, какие классы импортировать для данного приложения, рендерера, пакета AS, компонента mxml и т. Д. Кажется, существуют сотни классов (как mx, так и flash), и я никогда не уверен, какие из них(s) для импорта ... так что я просто продолжаю добавлять операторы импорта, пока ошибки не исчезнут.Где-то есть ссылка, о которой я не знаю?Или это просто приходит с опытом?Кроме того ... импорт нагрузки классов фактически увеличивает размер файла или Flex импортирует только используемые классы независимо от того, что я указал?Если он использует только то, что нужно, почему бы не всем просто: import mx. *;

Ответы [ 4 ]

1 голос
/ 18 января 2011

Я хотел бы предложить, чтобы, если вы обнаружите, что ввозите тонны импорта, вы должны спросить себя: много ли делает этот класс?ориентированный дизайн - ремонтопригодность, тестируемость и стабильность.

Я прилагаю все усилия, чтобы ограничить свои внешние зависимости.Я пытаюсь соответствовать принципам SOLID , которые говорят мне, что классы должны существовать по одной причине.Если класс делает слишком много, это «запах кода» и признак того, что вы должны разделить его.

Сколько это слишком много?Трудно пройти определенный лакмусовый тест или ограничить ... Я просто спрашиваю себя: "Что делает этот класс"?Если в моем ответе есть «и», то я подумываю разбить его на части.

1 голос
/ 18 января 2011

Я думаю, что ваша проблема - не настоящая проблема, если вы используете какую-нибудь полуприличную IDE. Если вы его не используете, вам, вероятно, следует (даже если это не является строго обязательным, и вы можете писать и компилировать с помощью блокнота и командной строки).

Если вы используете Flex / Flash Builder, он автоматически добавит импорт (и также удалит ненужные). Также вы можете использовать Ctrl + SPACE для запроса автозаполнения, что должно добавить необходимый импорт.

Flash Develop также управляет этим для вас (ярлык был Ctrl + Shift + 1, если я правильно помню, но я некоторое время не использовал FD).

Существуют и другие IDE, которые я лично не использовал, но у меня также есть эта самая базовая функция.

Если вы используете Flash IDE, то это действительно плохо для написания кода, поэтому вам, вероятно, следует подумать о написании кода в каком-то другом, менее утомительном для редактирования редакторе, если вы планируете сделать что-то большее, чем пара строк код здесь и там (опять же, вы можете писать код в Flash IDE, но почему бы не воспользоваться преимуществами более качественных инструментов, когда они доступны?).

0 голосов
/ 18 января 2011

Как отметил Хуан, используйте FlashDevelop, это отличная (и бесплатная) IDE.

Если вы используете FlashDevelop с Flex Compiler, вы можете компилировать прямо из FlashDevelop и использовать инструменты рефакторингаони предлагают сократить ваш импорт.

Кроме того, если вы не ссылаетесь на них, они не компилируются, поэтому ваш скомпилированный swf не такой большой.

0 голосов
/ 18 января 2011

Когда вы получаете сообщение об ошибке, посмотрите на API Reference для класса, а затем либо импортируйте весь пакет, либо только нужный вам класс. Выделение класса и нажатие клавиши F1 также должны работать (но я никогда не ищу помощь таким образом).

Что касается размера файла, см. Мой ответ на Можно ли динамически создать экземпляр пользовательского класса в Action Script 3?

...