ActionScript 3.0. Правила именования.
В процессе приобретения опыта программирования, чтения чужого кода, рекомендаций по именованию, у меня выработались некоторые правила, которых я стараюсь придерживаться.
Но мне было бы интересно узнать, каких правил придерживаются другие и по каким соображениям, и, возможно, расширить набор или внести коррективы.
Сразу скажу, что признаю возможность своей неправоты и не призываю строго придерживаться правил описанных мною. Каждый предпочитает что-то своё, и что подходит одному не всегда подойдёт другому.
Базовые принципы
* Имя должно отображать суть.
* Имя должно быть легко читаемым.
* Сокращения используются только если они узнаваемы и не ухудшают читаемость.
* Имя должно быть англоязычным.
Имя класса
Здесь всё просто, правило общее для многих языков.
Набор слов, каждое начинается с прописной буквы, по сути - существительное в единственном числе с определяющими словами. Аббревиатуры пишутся прописными буквами.
Примеры
Имя поля
Имя поля - это переменная-свойство класса или его экземпляра. Служат для хранения и управления состояниями объектов.
class AngryCat { private static var _manager:AngryCatManager; // поле класса private var _sex:int; // поле экземпляра }
Имя по сути - существительное в единственном или множественном числе с определяющими словами. Все буквы в имени строчные, слова отделяются друг от друга символом подчёркивания, начинается с символа подчёркивания.
Примеры
_x
_begin_speed
_current_target
_new_best_friends // в случае с множественным числом, это обычно Array или Vector
Локальные переменные и параметры методов
По сути - существительное в ед. или мн. числе с определяющими словами. Все буквы строчные, слова отделяются друг от друга символом подчёркивания, начинается с буквы.
Функции, методы, геттеры, сеттеры
Набор слов, первое начинается со строчной буквы, остальные с прописной.
Имена функций и методов по сути представляют из себя некоторый процесс, действие или вопрос, обычно начинаются с глагола.
Имена геттеров, сеттеров по сути то же что и поля
Примеры функций и методов
Примеры геттеров, сеттеров
те же что и для полей, но с правилами набора букв как у функций
Константы
Набор слов, разделённых символом подчёркивания, состоящий из прописных букв. По сути ближе всего к переменным.
Примеры
Интерфейсы
Интерфейсы в AS3 состоят из списка методов или геттеров, сеттеров. По сути служат для отображения способности что-то делать.
Имя начинается с большой буквы “I”, все остальные слова пишутся с заглавной буквы. Часто кончается на “able”, или представляет из себя абстракцию высокого уровня.
Примеры
Всего комментариев 59
Комментарии
25.09.2010 13:48 | |
25.09.2010 14:22 | |
DClick предлагает свои принципы именование, которые, как мне кажется, более удобны:
adobe-flex-coding-guidelines-v12-english.pdf |
25.09.2010 14:28 | |
27.09.2010 11:44 | |
Всё правильно
|
27.09.2010 13:32 | |
Подчеркивания в именах локальных переменных и полей — убого.
|
27.09.2010 15:01 | |
Цитата:
Иначе при подключении внешних библиотек получится каша.
|
27.09.2010 20:32 | |
Цитата:
это переменная-свойство
|
27.09.2010 20:36 | |
Не пишу подчерк ('_') перед protected и вам не советую.
|
27.09.2010 20:38 | |
Цитата:
DClick предлагает свои принципы именование, которые, как мне кажется, более удобны:
adobe-flex-coding-guidelines-v12-english.pdf |
28.09.2010 01:30 | |
Цитата:
Пишется через тире (Alt + 0151), либо дефис обрамляйте пробелами.
|
28.09.2010 18:17 | |
Офтоп: Да с каких пор поля стали "переменными" называть, сбивает же с толку, а то можно подумать что Вы локальные переменные с "_" пишете
|
29.09.2010 01:09 | |
Поле класса может быть как изменяемым, так и не изменяемым (const и var). Соответственно, поле класса может быть переменной. Или как?
|
29.09.2010 13:29 | |
var - variable - переменная.
С таким же успехом можно спросить: давно ли стали переменные класса называть полями? |
29.09.2010 14:09 | |
@i.o
вы путаете тёплое с мягким. это определения разного уровня. |
29.09.2010 15:33 | |
BlooDHounD, а вот и не путаю. Советую внимательнее ознакомиться с вопросом
Цитата:
Да с каких пор поля стали "переменными" называть
Цитата:
давно ли стали переменные класса называть полями?
|
|
Обновил(-а) i.o. 29.09.2010 в 15:55
|
29.09.2010 16:47 | |
i.o., ваше замечание не в тему. непонятно что вы имели виду. когда смысл слов expl донесён абсолютно чётко.
|
30.09.2010 00:17 | |
Цитата:
Поле класса может быть как изменяемым, так и не изменяемым (const и var). Соответственно, поле класса может быть переменной. Или как?
- переменная - локальная переменная, объявленная внутри метода/анонимной функции; - поле - поле экземпляра класса (protected var item:Item, private var item:Item и т.п) - статическое поле - поле класса (private static var item:Item, ...) ИМХО называть поля переменными - все равно что называть методы функциями, зачем путаться, когда терминология уже есть. |
|
Обновил(-а) expl 30.09.2010 в 00:19
|
30.09.2010 12:05 | |
expl, а что, Адобовские рекомендации уже закон что ли? Если там попросят переносить открывающую фигурную скобку на пустую строку, будем переносить?
|
30.09.2010 23:03 | |
Цитата:
expl, а что, Адобовские рекомендации уже закон что ли? Если там попросят переносить открывающую фигурную скобку на пустую строку, будем переносить?
Я переносил и никаких неудобств это не вызвало, но потом посмотрел, что колеги это игнорят напрочь и поправил наше соглашение по кодированию. Да, есть там спорные моменты, например не разделяю рекомендуемые ими неявные приведения к булеву типу (if (sprite) ...), ... да, параллель я не чёткую провел, пытаясь обломать критику "_" перед приватными полями. Да, то что пишут "this" где надо и не надо и это не являетя стандартом - не означает, что они не имеют права критиковать "_", который тоже не по стандартам перед каждым полем Но все равно, "убого" - это для вас убого, а для других - это зашибись. Цитата:
Вроде бы протектед с _ с флешера пишу вообще только я)
|
|
Обновил(-а) expl 30.09.2010 в 23:15
|
30.09.2010 23:23 | |
Статические протектед? Звучит жутковато
|
30.09.2010 23:38 | |
Цитата:
даже для статических протектед
|
01.10.2010 14:51 | |
Приватные статические, протектед статические. Вполне нормальная практика. Вы их не используете?
|
01.10.2010 23:53 | |
Блин, вам не надоело ? зачем всех причесывать под одну гребенку ? в 99% случаев ваш код увидите только вы сами... в остальных 1% есть правила команды...
|
02.10.2010 03:13 | |
Цитата:
Блин, вам не надоело ?
|
02.10.2010 04:42 | |
Цитата:
где может быть оправдано использование protected static на ум не приходит
|
|
Обновил(-а) i.o. 02.10.2010 в 06:51
|
02.10.2010 15:52 | |
Цитата:
не в этот раз. тут мы имеем случай "человек-паук", а не "человек — не паук!"
|
02.10.2010 20:31 | |
Цитата:
easy.proger: в таком случае Вы навсегда останетесь тем, кому будут диктовать правила, а не кто.
|
03.10.2010 11:54 | |
Не состояние, а какую то дельту, которую по идее, можно вычислять каждый раз - но она прокэшировалась сразу и для всех.
|
04.10.2010 23:25 | |
Цитата:
Сообщение от ZIK68
К сожалению перед отрицанием не ставится тире)
|
06.10.2010 10:49 | |
2wvxwv это ты что весь код смотришь? Я б повесился.)
|
06.10.2010 12:39 | |
wvxvw, а что может быть null, но не является объектом? String? Вроде тоже объект. Непонятно)
|
06.10.2010 22:46 | |
О, Олешка вернулся! Много багов сдал в адоб? ) А что там про ссылку-нулл забавное можно послушать?
|
Последние записи от f.g.programmer
- Simple Event Controller (05.01.2011)
- Event (16.10.2010)
- ActionScript 3.0. Правила именования. (25.09.2010)