Javascript-форум (https://javascript.ru/forum/)
-   Общие вопросы Javascript (https://javascript.ru/forum/misc/)
-   -   Стиль javascript (https://javascript.ru/forum/misc/27558-stil-javascript.html)

Neumann 17.04.2012 01:56

Стиль javascript
 
Добрый день, коллеги.

У меня с javascript следующая ситуация.
Свои знания по js я сам (возможно, ошибочно) оцениваю как хорошие, т.е. уже крайне редко встречается что-то мне не знакомое, много изучал, в том числе и на javascript.ru - и основы, и секреты, и советы и т.п. С AJAX разобрался, всё понятно, работал много раз, знаю нюансы. jQuery знаю почти обо всех возможностях (может кроме некоторых, типа объекта Deferred).
Но вот мой js-код мне не нравится. Всегда получается что-то типа

(function(){
$('bla-bla1').click(function(){
//
})
$('bla-bla2').click(function(){
//
})
function something(){
//
}
//
})()


и т.д.
Т.е. по сути одни обработчики событий (+ функции) следуют за другими.

Но когда я смотрю чужой, профессиональный код js, то он другой. Там всегда объекты (один или несколько) и какое-то хитросплетение методов, одни вызывают других. И чувствую что код лучше моего. Хотя и не пойму, как они так организовывают. Ладно, код фреймворка jQuery - суть библиотеки вся в одном объекте $. Но и другой код, просто для одной страницы написанный, всегда организован таким образом.
А у меня какая-то кишка из обработчиков и функций получается.

Посоветуйте, где можно почитать об организации кода на javascript. Ну и советы тоже какие-нибудь дайте :)

melky 17.04.2012 09:33

Цитата:

Сообщение от nasqad (Сообщение 169485)
Стоян Стефанов - JavaScript. Шаблоны (O'REILLY)
MacCaw A. - JavaScript Web Applications
Роберт Мартин - Чистый код. Создание, анализ и рефакторинг

и
javascript: сильные стороны

этого с лихвой хватит.

PS вторую книгу я прочитал уже. в бумажном варианте. опупенная штука, честно.

Pavel M. 17.04.2012 09:43

Neumann,
попробуйте вместо кучи обработчиков событий выделить несколько сущностей,

например объект popup-окно у которого есть несколько публичных методов: показать, скрыть, добавить содержимое,
а внутренняя реализация скрыта

или объект список чего-то, имеет свои методы и который генерит события при выборе конкретного элемента и на них можно подписаться

Антон Крамолов 17.04.2012 11:41

Не поэмы пишешь, незачем заботится ни о красоте, ни даже особо о быстродействии, посмотри исходники мозиллы той же...

Kolyaj 17.04.2012 12:33

Цитата:

Сообщение от Антон Крамолов
Не поэмы пишешь

У вас, если не секрет, какой опыт промышленного программирования, когда приходится поддерживать десятки тысяч строк кода, написанного пару лет назад неизвестно кем? Именно поддержки, а не написал сайт, сдал клиенту, а там хоть трава не расти.

Neumann 17.04.2012 13:50

Большое спасибо всем за советы и ссылки!

Антон Крамолов 17.04.2012 15:24

Цитата:

Сообщение от Kolyaj (Сообщение 169513)
У вас, если не секрет, какой опыт промышленного программирования, когда приходится поддерживать десятки тысяч строк кода, написанного пару лет назад неизвестно кем? Именно поддержки, а не написал сайт, сдал клиенту, а там хоть трава не расти.

Сравнил палец с детородным органом, никакого, только скриптовые языки

Kolyaj 17.04.2012 16:06

Цитата:

Сообщение от Антон Крамолов
только скриптовые языки

Я и имел в виду десятки тысяч строк JavaScript-а.

Антон Крамолов 17.04.2012 16:29

Цитата:

Сообщение от Kolyaj (Сообщение 169551)
Я и имел в виду десятки тысяч строк JavaScript-а.

насмешил


Часовой пояс GMT +3, время: 23:03.