ilyachalov (ilyachalov) wrote,
ilyachalov
ilyachalov

Categories:

Учебник по JavaScript: ч.1: Качество кода

Прочел третий раздел («Качество кода») первой части («Язык программирования JavaScript») учебника по JavaScript.

https://learn.javascript.ru

Часть 1. Язык программирования JavaScript (в т.ч. 93 подраздела)

Разделы:

3. Качество кода (6 подразделов)

3.1 Отладка в браузере Chrome
3.2 Советы по стилю кода
3.3 Комментарии
3.4 Ниндзя-код
3.5 Автоматическое тестирование c использованием фреймворка Mocha
3.6 Полифилы

Собственно, этот раздел, как мне кажется, по большей части не имеет прямого отношения к изучению именно языка JavaScript, но очень интересен и полезен для изучения программирования вообще. Хорошо, что его включили в учебник. И место для него выбрано правильное: ученик уже немного ознакомился с языком и уже сможет понять принципы и темы, изложенные в разделе, а также использовать их при изучении следующих разделов.

Про отладку скриптов рассказано на примере браузера «Google Chrome» (отладчик вызывается для текущей HTML-страницы нажатием клавиши F12). Я в основном пользуюсь «Microsoft Edge», последние версии которого построены на базе того же браузера «Chromium», что и «Google Chrome», поэтому сам отладчик и работа с ним в этих браузерах практически идентичны. Только в браузерах «Google Chrome» и «Microsoft Edge», установленных на моем компьютере, блоки отладчика расположены несколько по-другому, чем на иллюстрациях подраздела об отладке рассматриваемого учебника. Но разобраться оказалось несложно.

Кстати, у меня еще установлены старенький браузер «Internet Explorer 11» и самая свежая на сегодня версия 10.0.12 браузера «Tor», которыми я пользуюсь редко. В них отладчик тоже запускается клавишей F12.

Советы по стилю кода. Очень субъективно, вкусовщина. С половиной правил, изложенных автором, я не согласен. Но автор отметил, что изложенные правила необязательны и являются предметом обсуждения. Сама тема поднята правильная и общие выводы тоже сделаны правильные (о том, что разработчики сложного проекта должны придерживаться при написании программ-скриптов единого стиля). Даны ссылки на реально использующиеся своды стилевых правил некоторых больших проектов, опубликованные в интернете, можно ознакомится и понять, что они из себя представляют (это довольно объемные руководства).

Комментарии. Рекомендации по написанию комментариев в программах-скриптах. Тоже довольно спорные, но тема интересная и в общем с правильным посылом.

Ниндзя-код. Подраздел построен по образу и подобию вредных советов Григория Остера, только про программирование. Правда, не в стихах. Но получилось тоже смешно.

Автоматическое тестирование c использованием фреймворка Mocha. Любопытный подраздел про автоматизацию тестирования программ-скриптов. Для меня эта тема новая, но очень интересная.

Я думал, что нужно будет что-то скачивать и устанавливать, но оказалось, что достаточно написать HTML-страничку, на которой нужно прописать пути к библиотекам, размещенным на сайте https://cdnjs.cloudflare.com. На эту же HTML-страничку помещают тестируемый код и ссылку на программу-скрипт, выполняющую тестирование (тестируемый код и тестирующий скрипт написаны на JavaScript). Запуск тестирования происходит при загрузке этой HTML-странички в браузер.

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

Очень мне эта штука понравилась.

Полифилы. Подраздел нужный, но очень сырой, требует доработки. После его прочтения мало что становится понятным. Требуются конкретные примеры.

Речь в этом подразделе идет про так называемые транспайлеры (вики) и полифилы (вики).

«Транспайлер» в контексте языка JavaScript — это программа, переписывающая вашу программу, написанную на самой свежей версии языка в программу на какой-либо из старых версий языка (некоторые заказчики не желают или не могут обновить свое программное обеспечение, которое уже устарело и не может воспринять скрипт на самой свежей версии языка).

«Полифил» — это код (библиотека), реализующий какую-либо функциональность, которая не поддерживается в некоторых версиях веб-браузеров. Как я понял, полифил используется в случаях, когда программа-транспайлер не может помочь или вместо использования программы-транспайлера.
Tags: Инструмент, Образование, Программирование
Subscribe

  • Post a new comment

    Error

    Anonymous comments are disabled in this journal

    default userpic

    Your IP address will be recorded 

  • 0 comments