С улучшением производительности браузера и постоянного принятия нового интерфейса программирования HTML5, объем JavaScript на веб -страницах постепенно увеличивается. Тем не менее, плохо написанная программа может сломать весь веб -сайт, расстроить пользователей и отогнать потенциальных клиентов.
Разработчики должны использовать все инструменты и методы, которые они могут использовать для улучшения качества своего кода, и быть уверенными в том, что каждое выполнение является предсказуемым. Это тема глубоко в моем сердце, и я много лет работал, чтобы найти набор шагов, чтобы следовать в процессе разработки, чтобы гарантировать, что можно опубликовать только код высочайшего качества.
Просто выполните эти семь шагов, чтобы значительно улучшить качество вашего проекта JavaScript. С помощью этого рабочего процесса ошибки будут уменьшены, и будет сделано много оптимизаций обработки, что дает пользователям приятный опыт просмотра.
01. Код
Во -первых, вызовите строгий режим Ecmascript5 и объявление «строгого режима» в вашей функции и используйте режим проектирования этого модуля. В закрытии функции самообучения использование глобальных переменных должно быть минимизировано через независимый кодовый модуль песочницы, а также через любые внешние зависимости, чтобы сохранить четкий и краткий модуль глобальной переменной. Используйте только установленную, проверенную, хорошо проверенную, хорошо обслуживаемую стороннюю библиотеку и фреймворки, и сохраните ваши функции в небольшом значении, разделяя любую бизнес-логику или данные от ваших операций модуля и другого кода уровня представления.
Более крупные проекты с несколькими разработчиками должны следовать набору установленных принципов кодирования, таких как руководство по стилю JavaScript Google, и требовать более прочных правил управления кодом, включая строгое управление зависимостями через библиотеку, такую как requirejs, с использованием управления пакетами с использованием определений асинхронных модулей (AMD), используя управление пакет связанная связь между различными кодовыми модулями. Это также разумная идея: используйте систему систем репозитория кода, такую как GIT или подрывная деятельность, чтобы подкрепить ваш код в облаке через некоторые услуги, такие как исходный код или волшебные бобы, обеспечить возможность восстановления до предыдущих версий и создать филиал кода для более продвинутых проектов для выполнения различных функций, объединяет их перед завершением.
02. Файл
Используйте структурированные форматы аннотационных блоков, такие как Yuidoc или JSDOC для функциональности файла, чтобы любой разработчик мог понять свою цель, не изучая его код, что может уменьшить недопонимание. Использование синтаксиса Marckdown может иметь более богатые, длинные комментарии и объяснения. Используйте соответствующий инструмент командной строки для автоматического генерации документа на веб -сайте: На основе этих структурных мнений он согласуется с любыми изменениями, сделанными в вашем коде.
03. Анализ треков
Регулярно запустите инструмент анализа статического кода, например JSHINT или JSLINT. Эти проверки на известные недостатки кодирования и потенциальные ошибки, такие как забывание использовать строгие закономерности или ссылаться на неверные переменные, а также отсутствующие кронштейны или полуколоны. Исправьте любые проблемы с элементами управления инструментами, чтобы улучшить качество вашего кода. Попробуйте установить параметры по умолчанию для вашей команды проекта, чтобы улучшить стандарты кодирования, такие как отступать каждую строку по пространствам, где размещать вьющиеся скобки и использование отдельных или двойных кавычек по всему файлу кода.
04. Тест
Единый тест - это одна из функций, выполняемых небольшой независимой функцией: выполнить одну из функций из основной кодовой базы вашего конкретного входа, чтобы подтвердить, что он выводит ожидаемое значение. Чтобы повысить вашу уверенность, код будет писать структуры, используемые, как ожидается, например, Jasmine или QUnit для каждого функционального теста, используя ожидаемые и непредвиденные входные параметры. Но не забывайте эти краевые ситуации!
Запустите эти тесты в нескольких браузерах в нескольких операционных системах, позволяя вам ускорить тесты на виртуальных машинах в облаке в ваших требованиях, используя этот сервис, такой как братсерсто или соус -лаборатории. Эти две службы предоставляют API, который позволяет одновременно выполнять автоматические тесты вашего модуля в нескольких браузерах, и после того, как они будут завершены, они вернут вам результаты. В качестве бонуса, если ваш код хранится на GitHub, вы можете взять Browserswarm, инструмент, который автоматически запускает ваши модульные тесты при отправке кода.
05. Измерение
Инструменты покрытия кода, такие как измерение из Стамбула, какие строки кода выполняются, когда ваш модульный тест выполняется на вашей функции, отчитывая его в процентах от общего числа строк кода. Запуск инструмента покрытия кода на ваших модульных тестах и добавление дополнительных тестов может увеличить оценку покрытия до 100%, что дало вам большую уверенность в вашем коде.
Сложность функции может быть измерена с использованием метрики сложности Хальстеда: уравнение, установленное компьютерным ученым Моррисом Холлстедом в 1970 -х годах. Сложность функции количественно определяется на основе петлей, ветвей и вызовов функции, которую она содержит: сложность функции может быть измерена с использованием показателей сложности Halstead. Когда этот сложный балл уменьшается, тем легче понять и поддерживать эту функцию, уменьшая возможность ошибок. Визуализация сгенерированных данных инструмента командной строки Платона измерения и сложность кода JavaScript помогает определить функциональность, которая может быть улучшена при хранении предыдущих результатов, что позволяет отслеживать улучшение качества с течением времени.
06. Автоматизация
Используйте бегуны задачи, такие как Grunt для автоматической эксплуатации процесса сборки файлов, анализа, тестирования, охвата и генерации отчетов о сложности, что экономит ваше время и усилия и увеличивает ваши шансы на решение любых возникающих проблем качества. Большинство инструментов и структур тестирования, выделенных в этом посте, связаны с Grunt, что может помочь вам улучшить качество вашего рабочего процесса и кода без необходимости перемещать палец.
07. Обработка исключений
В то же время, в какой -то момент, ваш код будет иметь ошибку при запуске. Используйте оператор «Попробуй… поймать», чтобы правильно обработать ошибки времени выполнения и влияние ограничения поведения на вашем сайте. Используйте сетевую службу для записи ошибок, которые возникают во время работы. И используйте эту информацию, чтобы добавить новые модульные тесты, чтобы улучшить ваш код и устранить эти ошибки один за другим.
Шаги к успеху
Эти семь шагов помогают мне создать некоторые из кодов, которым я больше всего горжусь в своей карьере. Они также являются хорошей основой для будущего. В вашем собственном проекте мы обещаем использовать эти шаги для создания высококачественного кода JavaScript, чтобы мы могли работать вместе, чтобы улучшить сеть и привести к успеху шаг за шагом.