JSCS: Разработка архитектуры OpenSource-проектов
-
Upload
marat-dulin -
Category
Technology
-
view
181 -
download
3
description
Transcript of JSCS: Разработка архитектуры OpenSource-проектов
![Page 1: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/1.jpg)
JSCSРазработка архитектуры OpenSource-проектов
Дулин Марат !разработчик интерфейсов
![Page 2: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/2.jpg)
JavaScript Code Style
JSCS
![Page 3: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/3.jpg)
!github.com/mdevils/node-jscs
![Page 4: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/4.jpg)
!github.com/mdevils/node-jscs
![Page 5: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/5.jpg)
Зачем?
![Page 6: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/6.jpg)
!Пробелы…
![Page 7: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/7.jpg)
!Пробел после function!
![Page 8: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/8.jpg)
!Ура!
![Page 9: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/9.jpg)
Архитектура
![Page 10: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/10.jpg)
Я хочу
— Чтобы меня предупреждали о пробелах
— Легко исправлять свои ошибки
— Иметь разную стилистику в проектах
— Быстро добавлять новые правила
![Page 11: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/11.jpg)
!github.com/icefox/git-hooks
![Page 12: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/12.jpg)
!Где-где ошибка?
![Page 13: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/13.jpg)
!Спасибо, так намного лучше!
![Page 14: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/14.jpg)
!Разные проекты — разные конфиги
![Page 15: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/15.jpg)
![Page 16: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/16.jpg)
![Page 17: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/17.jpg)
![Page 18: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/18.jpg)
!Наш кодстайл
![Page 19: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/19.jpg)
Правила
— Необходим пробел после …
— Запрещается пробел перед …
— Необходимы фигурные скобки в …
![Page 20: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/20.jpg)
Правило
Файл
Ошибки
![Page 21: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/21.jpg)
Правило
Файл
Ошибки
Настройки
![Page 22: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/22.jpg)
Правило
Файл
Ошибки
Настройки Правило
Файл
Ошибки
Настройки Правило
Файл
Ошибки
Настройки Правило
Файл
Ошибки
Настройки
Исходные коды
Терминал
![Page 23: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/23.jpg)
Файл
— Исходный код
— Синтаксическое дерево
— Массив токенов
![Page 24: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/24.jpg)
!Abstract Syntax Tree
![Page 25: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/25.jpg)
!github.com/ariya/esprima
!Mozilla Parser AST
![Page 26: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/26.jpg)
![Page 27: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/27.jpg)
![Page 28: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/28.jpg)
![Page 29: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/29.jpg)
![Page 30: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/30.jpg)
![Page 31: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/31.jpg)
![Page 32: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/32.jpg)
Для людей
![Page 33: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/33.jpg)
![Page 34: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/34.jpg)
Контроль качества
![Page 35: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/35.jpg)
!513 тестов
![Page 36: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/36.jpg)
Структура
![Page 37: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/37.jpg)
![Page 38: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/38.jpg)
Правило
— Логика в lib/rules/
— Тест в test/
— Описание в README.md
![Page 39: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/39.jpg)
Уфф…
![Page 40: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/40.jpg)
Рецепт— Низкая связанность
— Открытые стандарты
— Документация
— Тесты
![Page 41: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/41.jpg)
За 9 месяцев
— 150 пулл-реквестов
— 61 правило (c 15)
— Сообщество
![Page 42: JSCS: Разработка архитектуры OpenSource-проектов](https://reader033.fdocument.pub/reader033/viewer/2022052904/557f3bedd8b42aa41d8b4777/html5/thumbnails/42.jpg)
Спасибо!
Дулин Марат
github.com/mdevilstwitter.com/mdevils