Pivot_Pointer, спасибо за отзыв) хотя судя по фидбекам от аудитории, доклад не очень зашел.
Впрочем, думаю что можно будет попробовать рассказать немного доработанную версию на более масштабных и специализированных конференциях типа Joker.
Касательно вопросов:
Цитата (Pivot_Pointer @ 27.11.2019)
был ли опыт введения checkstyle в пайплайн относительно большго сущ. проекта? если да, то как это выглядело пошагово, если нет, то как ты это видишь?
Текущий проект был самым большим на моей практике, правда, было всего 10 тысяч строк кода. Пошагово расписывать долго, пиши в телеграм, готов рассказать подробнее. Если кратко:
1. Определяем кодстайл
2. Делаем конфиг для чекстайла
3. Засовываем в пайплайн
4. Подавляем/фиксим все нарушения
5. ...
6. PROFIT
Цитата (Pivot_Pointer @ 27.11.2019)
наличие checkstyl'a и подобных линтеров в пайплайне для новых проектов (которые точно уйдут в прод) - это стандарт в епам для новых проектов?
Зависит от проекта. Многие начинаются как РоС, где в чекстайле смысла маловато, а потом перерастают в полноценный проект. Скорее, это больше лида/архитектора решение.
Цитата (Pivot_Pointer @ 27.11.2019)
как много и что именно коммитил в репозиторий? можешь рассказать парочку задач и с какими проблемами столкнулся при их решении?
На данный момент 28 коммитов и 3 открытых пуллреквеста, полный список можно глянуть по
ссылке. Изменения самые разные - от исправления опечаток до добавления новых проверок.
Самые интересные задачи пока что - это добавления новых проверок. Там иногда всплывает такая хрень, о существовании которой даже не подозреваешь. Прямо сейчас в у меня в работе находится проверка на определение лямбд, которые можно заменить ссылкой на метод. Там весьма нетривиальная логика, которую было довольно интересно писать. К сожалению, непросто найти время/желание для того, чтобы добить ее до конца и добавить в основной репозиторий.
Цитата (Pivot_Pointer @ 27.11.2019)
checkstyle билд для новых версий всегда обратно несовместим для старых, например: для 8 и 12? или вы поддерживаете какую-то минимальную версию и просто меняете схему в соответсвии с обновившейся спецификацией?
Обычно совместим. Парсеру, в принципе, пофиг на версию языка - он сможет переварить и старый код. Другое дело, что сама джарка чекстайла для запуска требует 8 версию. А так проблемы возникают при добавлении какого-то нового синтаксиса, потому что это влечет изменение грамматической модели. За последние 5 версий единственным существенным изменением (и то оно пока лишь в превью статусе) грамматики были лишь многострочные стринговые литералы. На прошлых выходных я как раз пофиксил эту проблему, а пуллреквест висит на ревью в данный момент.
А какой смысл, будучи новичком, покупать курс по "продвинутой джаве"?