Новосибирск: Интеграция в ReSharper внешнего статического анализатора кода (линтера) для JavaScript

Руководители

Владимир Белов, Никита Попов

Продукт

ReSharper

Город

Новосибирск

Проект

1 - Разработчик фасада линтера:

  • Проанализировать существующие линтеры для JavaScript.
  • Продумать фасад для работы с предупреждениями линтера.
  • Продумать фасад для запуска линтера в отдельном процессе.
  • Продумать и реализовать механизм интеграции внешних линтеров в ReSharper.
  • Реализовать фасады для jslint и eslint, интегрировать их в ReSharper.

2 - Разработчик интеграции линтера в ReSharper:

  • Изучить архитектуру статического анализа в ReSharper.
  • Интегрировать фасад внешних линтеров, предоставленный вторым разработчиком, в статический анализатор.
  • Продумать и реализовать механизм преобразования предупреждений фасада линтера в предупреждения ReSharper.
  • Продумать и реализовать механизм интеграции предупреждений внешнего линтера и квикфиксов ReSharper.
  • Реализовать несколько примеров квикфиксов для JavaScript, основанных на предупреждениях из внешнего линтера.
Ожидаемый результат

Итогом работы над проектом должен быть реализованный механизм подключения внешних линтеров к ReSharper. ReSharper должен будет уметь выполнять ими "на лету" статический анализ, показывать внешние предупреждения в коде и предлагать для них квикфиксы. В качестве демонстрации новых возможностей должна быть реализована поддержка jslint и eslint. Архитектура решения должна быть задокументирована.

Презентация

Требования

Обязательно:

  • Умение четко формулировать мысли.
  • Понимание концепций ООП.
  • Уверенные знания C# и .NET.

Будет плюсом:

  • Знакомство с ReSharper.
  • Знакомство с юнит-тестированием C#-кода.
  • Знакомство с паттернами проектирования.
  • Знакомство с JavaScript и инструментами.
  • Знакомство с инструментами командной работы (Git, ревью).
  • Свои работы на github.
Презентация проекта 31 августа 2017