Форум Flasher.ru
Ближайшие курсы в Школе RealTime
Список интенсивных курсов: [см.]  
  
Специальные предложения: [см.]  
  
 
Блоги Правила Справка Пользователи Календарь Поиск рулит! Сообщения за день Все разделы прочитаны
 

Вернуться   Форум Flasher.ru > Flash > ActionScript 3.0

Версия для печати  Отправить по электронной почте    « Предыдущая тема | Следующая тема »  
Опции темы Опции просмотра
 
Создать новую тему Ответ
Старый 02.03.2017, 19:45
Wolsh вне форума Посмотреть профиль Отправить личное сообщение для Wolsh Найти все сообщения от Wolsh
  № 21  
Ответить с цитированием
Wolsh
Нуб нубам
 
Аватар для Wolsh

модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
callme, пока Вы меряете мир булей "разрешит/не разрешит компилятор", сотни разных вещей не будут иметь никакого смысла. Может Вам слегка раздвинуть щелочку? Пока для Вас понятия "постоянная" и "не дадут изменить" тождественны, я не вижу возможности что-то объяснить. Для меня Event.ENTER_FRAME и event.target понятия совершенно разного смысла уже где-то на интуитивном уровне; при этом в моей голове даже не возникает мысли — а дай-ка я напишу Event.ENTER_FRAME = "timerTick"; Для меня ключевым является то, что эта фигня написанная большими буквами будет гарантированно одной и той же фигней ВСЕГДА и везде. А вот кто такой будет target — это как раз бабушка надвое вилами на воде писала.
__________________
Reality.getBounds(this);

Старый 02.03.2017, 20:51
callme вне форума Посмотреть профиль Отправить личное сообщение для callme Найти все сообщения от callme
  № 22  
Ответить с цитированием
callme
 
Аватар для callme

Регистрация: Dec 2014
Сообщений: 312
Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Примите за правду, что бОльшую часть времени Вы код читаете, а не пишете.
С чего вы решили, что я думаю иначе. Слово "читабельность" присутствует еще в моем первом посте. Я помешан на читабельности. Именно поэтому вообще появилась эта тема.


Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Причём, пожалуйста, не путайте константу с КОНСТАНТОЙ.
Я и не путаю. Тема вообще не про это.


Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Второй же варианты КОНСТАНТЫ – это явный индикатор что он никогда не изменится. Скорее всего, он итак нечто очень явное, например, количество струн в укулеле, но 4 это куда менее читабельно, чем UKULELE_STRINGS_COUNT. Ещё это может быть нечто менее явное – например, количество блоков в странице памяти – всех их объеденяет одно – скорее всего это был magic number, который стал чем-то читабельным.
Никто и не спорит, что UKULELE_STRINGS_COUNT читабельнее чем 4.


Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Но почему суффиксы сосут? Спасибо что спросили!
Если зайти со стороны строго-типизированных компилируемых языков, то они просто не нужны. IDE сама подскажет какой тип, компилятор сам выведет тип и подскажет, если где-то есть нестыковка.
Так ведь и константы нам может ИДЕ подсказывать, например цветом помечать. О чем я уже писал.


Цитата:
Сообщение от Psycho Tiger Посмотреть сообщение
Если зайти со стороны интерпретируемых языков (мы не знаем какой тип у переменной до рантайма!) – то... то это взять что-то, что не подразумевает жесткой типизации и пытаться наложить на него типизацию через именование переменных. Если кто-так делает, то кому-то нужно взять другой язык/инструмент – текущий просто не удовлетворяет чьим-то критериям.
Ну это вобще оффтоп, никакого отношения к теме.


Wolsh
Я же не спорю, что удобно знать, что перед нами константа. Но точно так же удобны и суффиксы.

Старый 02.03.2017, 22:33
Nooob вне форума Посмотреть профиль Отправить личное сообщение для Nooob Найти все сообщения от Nooob
  № 23  
Ответить с цитированием
Nooob
 
Аватар для Nooob

Регистрация: Mar 2007
Сообщений: 319
Доводы и придирки вполне верны и понятны, вот мое толкование:
Заглавными буквами обозначают не константные переменные, а так называемый тип enum в других языках, так как в AS3 нету enum то их принято таким образом обозначать. а enum это частный случай использования константных переменных, константы на стеке или в полях например обозначаются маленькими. Это пошло из Си когда там есть enum но все же отсутствуют перечисления для строк и приходится комбинировать в коде enum и static const с заглавными буквами, но например в C# не принято обозначать их особым образом так как они есть в языке изначально.

Суффикс не следует указывать, так как в языке есть обозначение типа, в тоже время принято например переменные с поведением очереди или стека на основе базового типа Vector указывать явно commandQueue:Vector.<Command>, commandStack:Vector.<Command> так как в языке отсутствуют generics и тип один, а поведение разное
Цитата:
Сообщение от callme Посмотреть сообщение
А если это не array а пул? Писать pullOfOranges?
Все верно, только нужно именовать лаконично orangePull:Array от общего к частному одуванчикПолевойЛекарственный, а не pullOfOranges растущийНаПолеОдуванчикДляЛекарств
В целом необходимо придерживаться правила что нужно всегда конкретизировать те моменты которые отсутствуют в языке (и контекст определения отсутствует в визуальной области видимости использования), тоже самое касается именования переменных обобщенных типов */Object, методов в непредсказуемых местах и многого другого, аргументы и доводы можно прочитать в Clean Code by Robert C. Martin (но в контексте AS3 нужно так же относиться критически)

если кидаться в крайности никто в здравом уме не станет именовать переменную applesPublicStaticVarInt, хотя я встречал людей которые именуют private переменные как _apples, static изменяемые переменные как $apples, что я не одобряю, ругаю, но иногда мирюсь с этим


Последний раз редактировалось Nooob; 03.03.2017 в 03:14.
Старый 02.03.2017, 22:41
KBAC вне форума Посмотреть профиль Отправить личное сообщение для KBAC Найти все сообщения от KBAC
  № 24  
Ответить с цитированием
KBAC
 
Аватар для KBAC

Регистрация: Jan 2006
Адрес: Москва (Нижний Новгород)
Сообщений: 229
Записей в блоге: 1
Отправить сообщение для KBAC с помощью Skype™
Код может читать не только его автор. Вот тогда единая схема именования реально решает.
__________________
Будь проще.

Создать новую тему Ответ Часовой пояс GMT +4, время: 16:14.
Быстрый переход
  « Предыдущая тема | Следующая тема »  
Опции темы
Опции просмотра

Ваши права в разделе
Вы не можете создавать новые темы
Вы не можете отвечать в темах
Вы не можете прикреплять вложения
Вы не можете редактировать свои сообщения

BB коды Вкл.
Смайлы Вкл.
[IMG] код Вкл.
HTML код Выкл.


 


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


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