jscs: Разработка архитектуры opensource-проектов

42
JSCS Разработка архитектуры OpenSource-проектов Дулин Марат разработчик интерфейсов

Upload: marat-dulin

Post on 16-Jun-2015

181 views

Category:

Technology


3 download

DESCRIPTION

Слайды доклада с js митапа в Ростове: http://vk.com/js_meetup

TRANSCRIPT

Page 1: JSCS: Разработка архитектуры OpenSource-проектов

JSCSРазработка архитектуры OpenSource-проектов

Дулин Марат !разработчик интерфейсов

Page 2: JSCS: Разработка архитектуры OpenSource-проектов

JavaScript Code Style

JSCS

Page 3: JSCS: Разработка архитектуры OpenSource-проектов

!github.com/mdevils/node-jscs

Page 4: JSCS: Разработка архитектуры OpenSource-проектов

!github.com/mdevils/node-jscs

Page 5: JSCS: Разработка архитектуры OpenSource-проектов

Зачем?

Page 6: JSCS: Разработка архитектуры OpenSource-проектов

!Пробелы…

Page 7: JSCS: Разработка архитектуры OpenSource-проектов

!Пробел после function!

Page 8: JSCS: Разработка архитектуры OpenSource-проектов

!Ура!

Page 9: JSCS: Разработка архитектуры OpenSource-проектов

Архитектура

Page 10: JSCS: Разработка архитектуры OpenSource-проектов

Я хочу

— Чтобы меня предупреждали о пробелах

— Легко исправлять свои ошибки

— Иметь разную стилистику в проектах

— Быстро добавлять новые правила

Page 11: JSCS: Разработка архитектуры OpenSource-проектов

!github.com/icefox/git-hooks

Page 12: JSCS: Разработка архитектуры OpenSource-проектов

!Где-где ошибка?

Page 13: JSCS: Разработка архитектуры OpenSource-проектов

!Спасибо, так намного лучше!

Page 14: JSCS: Разработка архитектуры OpenSource-проектов

!Разные проекты — разные конфиги

Page 15: JSCS: Разработка архитектуры OpenSource-проектов
Page 16: JSCS: Разработка архитектуры OpenSource-проектов
Page 17: JSCS: Разработка архитектуры OpenSource-проектов
Page 18: JSCS: Разработка архитектуры OpenSource-проектов

!Наш кодстайл

Page 19: JSCS: Разработка архитектуры OpenSource-проектов

Правила

— Необходим пробел после …

— Запрещается пробел перед …

— Необходимы фигурные скобки в …

Page 20: JSCS: Разработка архитектуры OpenSource-проектов

Правило

Файл

Ошибки

Page 21: JSCS: Разработка архитектуры OpenSource-проектов

Правило

Файл

Ошибки

Настройки

Page 22: JSCS: Разработка архитектуры OpenSource-проектов

Правило

Файл

Ошибки

Настройки Правило

Файл

Ошибки

Настройки Правило

Файл

Ошибки

Настройки Правило

Файл

Ошибки

Настройки

Исходные коды

Терминал

Page 23: JSCS: Разработка архитектуры OpenSource-проектов

Файл

— Исходный код

— Синтаксическое дерево

— Массив токенов

Page 24: JSCS: Разработка архитектуры OpenSource-проектов

!Abstract Syntax Tree

Page 25: JSCS: Разработка архитектуры OpenSource-проектов

!github.com/ariya/esprima

!Mozilla Parser AST

Page 26: JSCS: Разработка архитектуры OpenSource-проектов
Page 27: JSCS: Разработка архитектуры OpenSource-проектов
Page 28: JSCS: Разработка архитектуры OpenSource-проектов
Page 29: JSCS: Разработка архитектуры OpenSource-проектов
Page 30: JSCS: Разработка архитектуры OpenSource-проектов
Page 31: JSCS: Разработка архитектуры OpenSource-проектов
Page 32: JSCS: Разработка архитектуры OpenSource-проектов

Для людей

Page 33: JSCS: Разработка архитектуры OpenSource-проектов
Page 34: JSCS: Разработка архитектуры OpenSource-проектов

Контроль качества

Page 35: JSCS: Разработка архитектуры OpenSource-проектов

!513 тестов

Page 36: JSCS: Разработка архитектуры OpenSource-проектов

Структура

Page 37: JSCS: Разработка архитектуры OpenSource-проектов
Page 38: JSCS: Разработка архитектуры OpenSource-проектов

Правило

— Логика в lib/rules/

— Тест в test/

— Описание в README.md

Page 39: JSCS: Разработка архитектуры OpenSource-проектов

Уфф…

Page 40: JSCS: Разработка архитектуры OpenSource-проектов

Рецепт— Низкая связанность

— Открытые стандарты

— Документация

— Тесты

Page 41: JSCS: Разработка архитектуры OpenSource-проектов

За 9 месяцев

— 150 пулл-реквестов

— 61 правило (c 15)

— Сообщество

Page 42: JSCS: Разработка архитектуры OpenSource-проектов

Спасибо!

Дулин Марат

github.com/mdevilstwitter.com/mdevils