![]() |
|
||||||||||
|
|||||||
|
|
« Предыдущая тема | Следующая тема » |
| Опции темы | Опции просмотра |
|
![]() |
![]() |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 177
|
Изучая различные менеджеры, обнаружил, что в основном есть два стилистических подхода, например менеджер Sounds статик класс/синглтон/экземпляр:
1. Sounds.add(); - добавляет звук в список менеджера Sounds.remove(); - удаляет звук из списка менеджера Sounds.destroy(); - удаляет все звуки + очищает сам менеджер для GC т.е. он больше не используется в программе. Sounds.pause(); - пауза всех звуков Sounds.resume(); - восстановление проигрывания звуков. 2. Sounds.addSound(); - добавляет звук в список менеджера Sounds.removeSound(); - удаляет звук из списка менеджера Sounds.removeAllSounds(); Sounds.pauseSounds(); Sounds.resumeSounds(); Первый из них наиболее удобен в использовании (для разработчика менеджера), т.к. короткие именования функций, тем не менее, логика сохраняется, т.к. все операции относятся к текущему менеджеру и его элементам. Второй более понятен для юзера-программиста, но есть некоторое нагромождение в именовании функции. Т.е. в имени функции идет пояснение. Логически, если менеджер называется Sounds (звуки), то соотв. функция должна работать с элементом звука и вызывая add можно понять, что операция идет над элементом менеджера. Но, иногда в менеджер приходится, добавлять не только звуки,но и что-то еще, тогда получается две функции add() и уже приходится конкретизировать: addSounds/addChannel. Тем не менее совпадения имен функций менеджера встречаются редко и можно называть функцию просто add. Какую стилистику из (приведенных двух) именования функций менеджера вы применяете? Кстати? также интересно, альтернативе destroy можно найти, remove, kill, clear, unregister и пр.Хотя у меня remove ассоциируется с add, т.е. с добавлением/удалением одного элемента в менеджере. А destroy/kill ассоциируется уже с удалением всех элементов менеджера и собственно самого менеджера, т.е. подготовка его для GC и удаления из памяти. Последний раз редактировалось Alexmody; 04.03.2011 в 15:09. |
|
|||||
|
На примере TweenLite: твины можно создавать двумя способами:
и Почему так сделано - загадка, второй способ более ресурсоемкий, так как вызывается статический метод, возвращающий экземпляр класса TweenLite. И на примере TimelineLite: добавить твин на программный таймлайн можно через append() (если не ошибаюсь, форум без автокомплита). Можно назвать было appendTween его, но вот названо кратко. Краткие названия более лаконичные (естественно, если их название отражает суть метода). На мой взгляд, второй способ именования методов чересчур чопорный, излишне даже. Так что, первый вариант лучше, да. Представьте, если бы метод добавления элемента назывался вместо push каким-нибудь pushElementInThisVector ![]()
__________________
тут я |
|
|||||
|
Регистрация: Dec 2010
Сообщений: 177
|
Когда изучал твин движки TweenMax и Tweener, тоже заметил, что наименование ф-ий в TweenMax по стилистике больше подходит к первому варианту, а в Tweener ко второму (напр. addTween, pauseAllTweens, removeTweens, removeAllTweens, resumeAllTweens, resumeTweens и пр.).
Последний раз редактировалось Alexmody; 04.03.2011 в 15:11. |
|
|||||
|
Нуб нубам
модератор форума
Регистрация: Jan 2006
Адрес: Бердск, НСО
Сообщений: 6,445
|
Если не возникает двусмысленности, зачем тавтология. "Вася, как тебя зовут". Конечно, лаконичные лучше. Если не возникает двусмысленности)
__________________
Reality.getBounds(this); |
|
|||||
|
Регистрация: Apr 2010
Сообщений: 32
|
Первый метод мало того что логичнее и красивее - он еще и экономнее. Длина названий переменных/методов/классов влияет на размер получаемой swf.
|
|
|||||
|
Регистрация: Jun 2006
Адрес: Москва
Сообщений: 461
|
Я голосую за первый вариант
![]() UPD: хотя было у меня некоторое отклонение: Последний раз редактировалось Hidest; 04.03.2011 в 17:40. |
![]() |
![]() |
Часовой пояс GMT +4, время: 17:11. |
|
|
« Предыдущая тема | Следующая тема » |
|
|