May 30th, 2019

Book

Цензурированный план работ

Решаемые проблемы:


  • замедление разработки из-за

    • глупых ошибок (необходимость ручного прогона и заглядывания в лог на предмет cannot find property 'foo' of bar)

    • отсутствия тестов и инфраструктуры CI/CD

    • ручного редактирования в "ноутпаде" вместо IDE

    • морально устаревшей инфраструктуры ({список зависимостей nobody cares about since 5 years ago})

    • неподдерживаемой инфраструктуры ({cписок погнивших зависимостей и зависимостей с нашими приватными форками})



  • хрупкость кода

    • сервисы падают целиком при отказах некоторых из third party REST API

    • поломки при обновлении системного ПО

    • старый JS до yield и await



  • наколенные постоянно ломающиеся самоделки

    • персистенс

    • канал между сервисами и бэкендом



  • проблемы UI

    • самодельная модель

    • устаревшие и некрасивые виджеты


Предлагаемые технические решения


  • новый код на TypeScript и C# (лечит глупые ошибки)

  • Azure Pipelines (CI)

  • VS2019+ (лечит ручное редактирование)

  • meteor, React, RxJS (лечит устаревшее и неподдерживаемое)

  • ES2019 с даунгрейдом через TypeScript по необходимости (лечит старый JS)

  • Akka.net, Sentry.io и circuit breaker pattern для сервисов

  • Gearman и MQTT (лечит наколенные протоколы)

  • RxJS вместо моделей

  • React вместо ручного изменения DOM в jQuery (TSX поддерживается студией!)

  • leveldb для персистенса {cписок компонентов с наколенным ломающимся персистенсом в файлы})

  • react-компоненты вместо {старых веб-виджетов}

  • LTS-версии ноды для увеличения стабильности

  • переход на CentOS 8 (когда он выйдет и появится поддержка в Студии) для увеличения стабильности