Форум Flasher.ru

Форум Flasher.ru (http://www.flasher.ru/forum/index.php)
-   ActionScript 3.0 (http://www.flasher.ru/forum/forumdisplay.php?f=83)
-   -   Как правильно называть пакеты? (http://www.flasher.ru/forum/showthread.php?t=208061)

LifeIsRhythm 01.06.2014 14:16

Как правильно называть пакеты?
 
Меня давно преследует злой рок связанный с именами пакетов.
Есть пакет содержащий классы-задания и первое, что приход в голову, назвать пакет task ли tasks.
Но если я сделаю так, то во всем пакете я не могу использовать эти слова при названии свойст, так-как
FD не понимает к чему я обращаюсь и выкидывает ошибку. И хорошо если название состоит из двух слов,
то я пишу слово_слово, но с одним словом мне приходится что-то дописывать, а именно package.
Типа task_package. Но чтобы потом везде была гармония, то мне приходится во всех именах использовать слово package.
В общем, как Вы называете и избегаете ошибок связанных с названием пакета и свойства?

Psycho Tiger 01.06.2014 15:47

Пакет – tasks, потому что там их много.
Задача – task – единственное число.
Если класс-контейнер, который содержит много разных – то TasksGroup/TasksContainer.
Класс всегда должен быть единственным числом.

LifeIsRhythm 01.06.2014 15:56

Цитата:

Пакет – tasks, потому что там их много.
Да, но мне нужно создать массив задач и название тоже будет tasks... И это уже ошибка.
Или писать allTasks?

caseyryan 01.06.2014 17:29

пакет com.sitename.tasks
А массивам придумывать другие названия. Это уже второстепенно.

LifeIsRhythm 01.06.2014 19:37

caseyryan, я от Вас так часто слышу слово "конвенция", что ответить на немного "непотемный" вопрос, попрошу Вас - есть ли какая-то конвенция, которая придумана специально для protected или internal свойств, для которых нужно создать геттер-сеттер? Если переменная privatе, то тут все просто.. Но как быть с другими модификаторами... Не подчеркивать же.
И если я не ошибаюсь, то некоторое время назад Вы уже делились ссылкой на русскоязычную конвенцию,
но я не смог найти её не в гугле не на форуме. Если можно, поделитесь пожалуйста.

caseyryan 01.06.2014 21:30

А что со свойствами protected и internal? Их названия пишутся с маленькой буквы, без подчеркиваний. Зачем ставить геттеры и сеттеры для таких свойств? Если нужен протектед или интёрнал геттер, то делаем приватную переменную, а для геттера / сеттера задаем модификатор protected или internal вместо public

illuzor 01.06.2014 21:56

LifeIsRhythm, вы придумываете себе проблемы на пустом месте.

LifeIsRhythm 01.06.2014 23:15

Цитата:

Зачем ставить геттеры и сеттеры для таких свойств?
Есть класс, назову его класс А, который объединяет работы множества других классов.
Этот класс стал сложен для понимания и я разбил его при помощи "наследства" на подклассы.
И получается так, что свойства идут по мере их важности от супер-класса до самого последнего, public класса. И естественно, что большинство свойств protected, да и вообще, если углубится в понятия ОПП,
то private свойства считаются неОчень, так-как ставят крест на расширении...
И вот если бы мне не было тяжело понимать этот код, то сделал бы с приватными свойствами и создал бы геттеры-сеттеры. Но получилось по другому и я решил посоветоваться... Но если ответ, это общение интернал-наследников через геттеры и сеттеры, то это кажется немного странным... Нет?

caseyryan 02.06.2014 08:27

Цитата:

да и вообще, если углубится в понятия ОПП, то private свойства считаются неОчень, так-как ставят крест на расширении...
Кто эту чушь придумал? ) Впервые слышу, что private свойства считаются "не очень". Не надо так углубляться, а то утонуть можно :D

Цитата:

И вот если бы мне не было тяжело понимать этот код, то сделал бы с приватными свойствами и создал бы геттеры-сеттеры. Но получилось по другому и я решил посоветоваться... Но если ответ, это общение интернал-наследников через геттеры и сеттеры, то это кажется немного странным... Нет?
Абсолютно не понимаю в чем проблема, и вообще о чем речь. Если не нужны геттеры сеттеры для internal / protected свойств, то делаем их просто переменными. Если нужны, то делаем так:
Код AS3:

private var _someCrap:String = "someCrap";
 
protected function get someCrap():String {
    return _someCrap;
}
protected function set someCrap(value:String):void {
  _someCrap = value;
}

И где тут что плохого в приватной переменной?

LifeIsRhythm 02.06.2014 12:49

Цитата:

Кто эту чушь придумал? ) Впервые слышу, что private свойства считаются "не очень". Не надо так углубляться, а то утонуть можно
Антипаттерн -
Цитата:

Приватизация (Privatisation): Сокрытие функциональности в приватной секции (private), что затрудняет его расширение в классах-потомках
Цитата:

Абсолютно не понимаю в чем проблема, и вообще о чем речь.
Наверное, я плохо объяснил... Свойства у меня protected, так-как они используются в классах-наследниках, но для них нужно сделать геттеры. Понимаете, для protected свойств - геттеры, public геттеры. И по этому я и спросил, как в таких ситуациях должны выглядеть сами protected свойства? Они же не могут быть с подчеркиванием, а это означает, что нужно придумывать какую-то приставку или ещё что-то, чтобы имя с геттером не совпадало. Вот я и поинтересовался, есть ли упоминание об этом в конвенции.


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

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