| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > JavaScript: Общие вопросы > Мой стиль программирования - вдруг я не прав |
| Автор: Timophey 16.11.2012, 02:17 | ||
| Приветствую ВАС, форумчане! Не так давно я начал писать full ajax сайты или веб-приложения на ajax, или прочие подобные вкуснЯшки на JS. Структура кода:
Т.е. все основные переменные живут в своём адресном пространстве, методы живут и общаются между собой этими переменными на соседней ветке, core.methods.init() вызывается после рендера страницы. Так работают мои последние поделки типа http://marwin.timophey.su/ (проект сдан и уже живёт на другом адресе) или http://miko.timophey.su/ (сайт недоделан, но задумка была масштабная). Хочу посоветоваться с более опытными и мозговитыми о правильности моего подхода, и если нет, то как его можно/нужно улучшить. З.Ы. Пост не призван спровоцировать флуд и не несёт рекламного характера, интересно услышать совет и/или адекватное мнение. |
| Автор: Stolzen 16.11.2012, 09:12 |
| Нормально. Хотя я бы vars отдельно не выделял. Рекомендую книгу JavaScript Patterns (Stoyan Stefanov), мне в свое время помогла систематизировать знания по JS. |
| Автор: Aliance 16.11.2012, 10:35 |
| Вы не работали в большом коллективе, я прав? |
| Автор: CruorVult 16.11.2012, 11:30 |
| Зачем выдумывать свое, если можно взять ядро какого-то фреймоворк либо написать по аналогии что-то свое выкинув ненужный функционал. |
| Автор: Amphiluke 16.11.2012, 19:45 | ||||||
| Большой уровень вложенности объектов отрицательно сказывается на производительности. Особенно в циклах. Правильнее использовать локальные переменные в качестве быстрых ссылок на нужные глубоко вложенные свойства. Этим вы избавляете интерпретатор от необходимости просматривать длинные цепи областей видимости (и прототипов). Так можно и обеспечить определенный уровень инкапсуляции (у вас же все свойства публичны). Пример неоптимального кода из вашего скрипта:
Оптимизировать можно было бы при помощи локальных переменных (объект активации просматривается первым при разрешении имен)
|