Javascript.RU

Создать новую тему Ответ
 
Опции темы Искать в теме
  #1 (permalink)  
Старый 09.09.2015, 14:34
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

Покритикуйте код. Вопрос к знатокам паттернов и правильного кода.
Ребят, кто знает как нужно проектировать (а не те для кого главное чтобы работало), покритикуйте код плиз.

Мне например не нравится что есть внешние переменные
вроде engravingText.currentX - нужно ли от них избалвяться?
Но по другому я не знал как реализовать изменение этих данных чтобы можно было их читать сразу 2мя классами
LoaderLetters и Bit

Так же мне кажется реализация метода LoaderLetters.showText
корявой, т.е. что в ней находится обработка анимации не только букв но и canvas

http://jsfiddle.net/kuzroman/qsw1yazs/

Буду рад любой здравой критике. Спасибо!
Ответить с цитированием
  #2 (permalink)  
Старый 09.09.2015, 15:34
Профессор
Отправить личное сообщение для alex.vv Посмотреть профиль Найти все сообщения от alex.vv
 
Регистрация: 15.04.2014
Сообщений: 176

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

Цитата:
Мне например не нравится что есть внешние переменные
вроде engravingText.currentX - нужно ли от них избалвяться?
Если считаете, что данная переменная должна быть недоступна для внешнего клиента - инкапсулируйте ее, при необходимости предоставив доступ к ней через заранее определенные методы (замыкания) типа engravingText.getCurrentCoords(), engravingText.setCurrentCoords(). В большинстве случаев такая инкапусляция считается хорошей практикой, например http://jsfiddle.net/yykc6Lk9/
Ответить с цитированием
  #3 (permalink)  
Старый 09.09.2015, 15:42
Аватар для Erolast
Профессор
Отправить личное сообщение для Erolast Посмотреть профиль Найти все сообщения от Erolast
 
Регистрация: 24.09.2013
Сообщений: 1,436

Цитата:
покритикуйте код плиз
Ну, как минимум, код почему-то до сих пор на ES5, когда еще в июне произошел релиз ES6.
Ответить с цитированием
  #4 (permalink)  
Старый 09.09.2015, 16:16
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

Ну причина одна, ES6 далеко не во всех браузерах работает, и пока все его реализации добавят хотябы в 4ку лидеров пройдет пара лет)
http://kangax.github.io/compat-table/es6/
Но согласен готовиться стоит, конечно.

Последний раз редактировалось kuzroman, 09.09.2015 в 16:18.
Ответить с цитированием
  #5 (permalink)  
Старый 09.09.2015, 16:39
Аватар для Lemme
Профессор
Отправить личное сообщение для Lemme Посмотреть профиль Найти все сообщения от Lemme
 
Регистрация: 15.07.2015
Сообщений: 511

kuzroman, кто то для меня "открыл" babel, теперь я его "открою" для тебя.

https://babeljs.io/

И вот - тоже полезно.
http://learn.javascript.ru/es-modern-usage
Ответить с цитированием
  #6 (permalink)  
Старый 09.09.2015, 18:19
Аватар для kuzroman
Кандидат Javascript-наук
Отправить личное сообщение для kuzroman Посмотреть профиль Найти все сообщения от kuzroman
 
Регистрация: 26.11.2010
Сообщений: 124

Примного благодарен!
Ответить с цитированием
Ответ



Опции темы Искать в теме
Искать в теме:

Расширенный поиск


Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Вопрос к знатокам google apps script gtr-kaz Общие вопросы Javascript 3 22.10.2014 08:31
Вопрос к знатокам Igor123 Общие вопросы Javascript 3 29.05.2014 09:43
Всплытие событий или что то не так... Кирюха =) jQuery 6 30.03.2013 12:56
Вопрос по изменению кода JavaScript RockTeam Ваши сайты и скрипты 17 21.02.2013 18:30
Вопрос про вставку кода на страницу demoniqus Общие вопросы Javascript 1 23.05.2012 10:26