Я знаю, как мы начинаем с JavaScript, мы вырезали и вставляли фрагмент кода, чтобы получить немного функциональности или проверки на стороне клиента.
Но если вы пойдете по этому пути, пытаясь реализовать богатое интерактивное поведение, вам не понадобится много времени, чтобы осознать, что вы создаете Большой Шар Грязи.
Так каков путь к опыту в программировании уровня взаимодействия? Какие книги, учебные пособия, упражнения и процессы способствуют программированию надежного, поддерживаемого JavaScript?
Мы все знаем, что практика важна в любом начинании, но я ищу путь, похожий на ответ здесь: /programming/2573135/
javascript
software-craftsmanship
Эрик Уилсон
источник
источник
Ответы:
Прочитайте код других людей ( ЛОТ ) и попытайтесь понять, что они делают, и почему они это делают. Напишите свой собственный код ( ЛОТ ), опробуйте новые концепции и идеи, прежде всего играйте и развлекайтесь. Лучший способ стать лучше в чем-то - это практиковаться, практиковаться, а потом еще практиковаться.
Читайте книги, учебники, статьи, блоги, RSS-каналы и т. Д.
Создайте какой-нибудь проект для работы в свободное время. Если вы не можете придумать что-то, найдите проект с открытым исходным кодом, над которым вы можете быть заинтересованы.
Кроме того, не падайте духом и, самое главное, помните, что «мастерство» - это не пункт назначения, а путешествие - путешествуйте в своем собственном темпе, развлекайтесь и наслаждайтесь пейзажем. Если вы отнеситесь к этому слишком серьезно, вы сгорете, и это никому не поможет.
источник
Несколько ссылок для мастерства JS
Как вы думаете, какие " скрытые возможности " JavaScript должен знать каждый программист?
Расширенные вопросы об интервью с JavaScript
Лучшие ресурсы для изучения JavaScript - видео Дугласа Крокфорда о JavaScript
На какие вопросы должен ответить программист JavaScript?
Изучение Продвинутого JavaScript
6 продвинутых техник JavaScript, которые вы должны знать
источник
Прежде всего, вы должны знать, какова будет ваша цель в изучении JavaScript. Если вы просто хотите провести некоторую проверку ввода и немного упростить пользовательский интерфейс для пользователя, вам не нужно иметь глубокое понимание языка, если вы используете такие фреймворки, как jQuery .
Тем не менее, если вы хотите получить четкое представление о JavaScript, попробуйте написать расширение для существующего фреймворка, которое реализует полезный инструмент.
Что касается книг и других ресурсов, я не очень много слышал о полезных книгах, и в целом я выучил язык, пытаясь решить проблемы и проверяя, чтобы мой код был чистым в соответствии с JSLint . Сочетание интересной проблемы (например, расширение фреймворка), JSLint и достаточного количества времени для усердной практики, вероятно, станет лучшим выбором для изучения языка.
источник
Прежде чем изучать какие-либо детали веб-разработки (DOM и т. Д.), Изучите основной язык. Вы можете учиться разными способами - книгами, видео и т. Д. Вам, конечно, нужно будет читать и писать код.
ECMAScript (это название языкового стандарта - javascript относится к нескольким реализациям) - очень интересный язык. Это динамический, функциональный и основанный на прототипах объектно-ориентированный язык, поэтому вам следует потратить время на понимание принципов этих парадигм.
Научитесь использовать интерактивную консоль в своем браузере (в Chromium вы можете получить к ней доступ, нажав Ctrl+ Shift+ J), что похоже на такие инструменты, как IRB и интерактивный интерпретатор Python. Это полезно для тестирования языковых функций и отладки.
Используйте JSLint для проверки качества вашего кода.
Когда вы начнете заниматься «реальной» разработкой с использованием DHTML, упростите свою жизнь с помощью фреймворка, такого как JQuery , для решения проблем с различными браузерами.
источник
Здесь можно применить множество методов, которые делают программиста экспертом в заданном языке, хотя в javascript есть пара жемчужин, которые позволяют использовать его необычайно эффективно. Возможно, одним из самых больших препятствий, которые мне пришлось преодолеть с помощью javascript, было устранение моего менталитета программирования на «С», то есть тысячи крошечных функций, помещенных в один файл js.
Некоторые общие советы - абстрагироваться всякий раз, когда вы можете, и пытаться формировать классы, когда вы можете организовать общее поведение. Создайте новые js-файлы для любой функциональности, которая может быть использована для других ваших js-файлов (в пределах разумного) и избегайте глобальных переменных, если это вообще возможно. Я очень рекомендую вам изучить jQuery, если вы еще этого не сделали. Это инструмент, который я полюбил, и теперь без него я бы не справился. Это чрезвычайно гибкое расширение javascript, которое позволяет значительно упростить ваш код, что хорошо для простоты и возможности быстрого и эффективного кодирования. jQuery поставляется с большой библиотекой плагинов, которая позволяет вам делать много вещей, которые не могли бы быть более впечатляющими, если бы вы делали это во флэш-памяти. Проверьте jQuery UIдля всей системы тем для вашего сайта, что позволяет вам эффективно изменять весь макет вашего сайта, ничего не делая вообще. Поставляется со множеством анимационных эффектов и удобных элементов управления, обычно используемых на веб-сайтах (выбор даты, кнопка, индикатор выполнения и т. Д.), Большинство из которых можно активировать с помощью одной строки JavaScript.
Надеюсь, это поможет!
источник
Многое из того, что вы делаете в JavaScript, по сути, тесно связано с совместимостью с DOM, CSS и браузером, поэтому понимание DOM является одним из основных требований к овладению JavaScript.
Изучение основных функций языка, таких как ориентация объектов на основе прототипа, анонимные функции и более общие функции языка, такие как циклы, условия и т. Д., Является ключом к пониманию любого кода, который вы читаете, который не взаимодействует с DOM / CSS. ,
Вам также нужно будет изучить стандартную библиотеку языка, например, String and Math и другие основные функции объекта.
Вам также следует изучить алгоритмы, если вы хотите получить истинное и полное понимание того, как все делается и как реализовывать более продвинутые решения, эти знания имеют основополагающее значение для понимания передового программирования и выходят за рамки синтаксиса, специфичного для конкретного языка.
источник
Прочитайте код библиотек, которые вы используете. Чтение исходного кода jQuery или Prototype научит вас тому, что на самом деле происходит в javascript и dom. Исследуйте методы, которые используют библиотеки, чтобы вы могли их понять. Не стесняйтесь начинать с чтения микро-фреймворков на http://microjs.com/ . Убедитесь, что вы смотрите на фактический источник, а не только на распределенные файлы. (jQuery имеет около десятка исходных файлов, но они собираются в процессе сборки.)
источник
Javascript применяется во многих областях разработки прямо сейчас.
Поэтому я считаю, что есть больше мастерства javascript. Это зависит от того, с чего вы хотите начать, но будьте уверены, каждый из этих 4 пунктов, упомянутых выше, создаст вам разные проблемы - хорошо, может быть, окна 8 и поля телефонной пропасти могут быть похожими, но остальные поля разные.
Если мы говорим о браузерной среде, изучение того, как почти каждое веб-приложение должно быть организовано, может быть одним из путей, по которым вы можете пойти. Я иду по этому пути и экспериментирую с собственными идеями, проверяя git-репозитории популярных библиотек организации кода, таких как dojo, backbone, ember и т. Д.
Если мы говорим об окружении node js, это другая история. Мы не занимаемся минимизацией и размером файла. Создание целых приложений в узле, сборка систем, сайтов, REST API, есть много вещей, которые можно обнаружить там.
Если мы говорим о мире мобильных устройств, на ум приходит чрезмерная оптимизация. CSS3-ускоренные свойства, анимация, сенсорные события и попытки использовать ту же архитектуру, что и в Интернете с более специализированными компонентами пользовательского интерфейса, - это отличные вещи для начала.
В общем, как и другие, эксперименты с вашим собственным кодом и с кодом других - это лучший способ принять участие, быть в курсе всего нового, и кто знает, может быть, придумает следующую важную вещь.
Еще одна вещь, которая помогает, это работа в команде и понимание различий между вашим способом и способом написания кода командой. Работа в команде разработчиков javascript заставит вас писать лучший код и хорошо его документировать. Я думаю, что нет лучшего способа узнать об архитектуре приложения, чем написать вики о том, что вы собираетесь реализовать или уже реализовали.
источник
Я ненавидел JavaScript, пока не обнаружил JQuery. Теперь я люблю это и использую это все время. Наверное, слишком много.
источник