Разработчики линтера ESLint рассказали о релизе версии 9.0. Команда проекта исправила известные ошибки и добавила новые функции. Кроме того, линтер теперь не поддерживает работу с Node.js 18.18.0 и 19.
Партнёрская программа Минкомсвязи России
Вы слышали про ЛИНТЕР? Многие без колебаний ответят: «Нет». Если же спросить так: «Вы слышали про Oracle?», утвердительных ответов будет значительно больше. А тем временем, есть коммерческая отечественная СУБД, называемая ЛИНТЕР и ведущая свою историю с начала 80-х годов прошлого века. Сегодня ЛИНТЕР управляет движением самолётов, ЛИНТЕР пропускает людей в метро, ЛИНТЕР качает нефть, ловит преступников, контролирует космическое пространство, защищает атомные реакторы, хранит музыку в домашних кинотеатрах и сотовых телефонах, работает на российских подводных лодках и много ещё где.
Линтеры в Go. Как их готовить. Денис Исаев
Предлагаю ознакомиться с расшифровкой доклада Дениса Исаева jirfag "Линтеры в Go. Как их готовить."
В go 50+ линтеров: в чем их профит и как эффективно встроить их в процесс разработки? Доклад будет полезен как тем, кто еще не использует линтеры, так и тем, кто уже применяет их: я раскрою малоизвестные трюки и практики работы с линтерами.
Кому интересно, прошу под кат.
Blameless environment: никто не должен писать качественный код
Работали ли вы когда-нибудь на плохой работе?
Я работал и долго. Моя компания была ужасна. Все было очень плохо, за что ни возьмись — все из рук вон. У нас были отвратительные процессы, ненавистные клиенты и неумелые разработчики. С этим ничего нельзя было поделать. Когда все так плохо, просто не знаешь, за что взяться, с чего начать. Чувствуешь себя жалким винтиком, который не может ни на что влиять.
Когда я говорю, все плохо, я имею в виду, что у нас был:
- плохой код — никто не думал о качестве кода, никто не мог даже сформулировать, что такое качество кода.
- плохие процессы.
- мы не могли нормально общаться,
- мы не делали то, что хотел клиент.
Да, это была аутсорс-разработка, но не это делало её плохой. Люди сделали ее такой.
О линтерах, качестве кода, качестве вообще и управлении качеством
Народная мудрость.
Одна пара пожелала пожениться и обрести вечное счастье. Я взорвал их машину у церкви сразу после венчания.
One Wish Grant, фильм Трасса 60.
Ещё одна философская заметка про управление, а данном случае качеством, состоит из трёх частей: очень абстрактной, в меру абстрактной, конкретной и отдельного вывода. Содержит критику существующей практики применения линтеров.
Повышаем качество кода с Dart Code Metrics
Dart Code Metrics — это инструмент статического анализа кода, который позволяет собирать метрики по коду и предоставляет дополнительные правила для анализатора. Основная задача — помогать разработчикам следить за качеством кода и улучшать его. В этой статье мы хотим поделиться возможностями инструмента с сообществом. Он помог нам в Wrike решить часть проблем на фронтенде, и, надеемся, поможет и вам.
Dart Code Metrics 4.0: команды, поддержка монорепозиториев и новые правила
В предыдущей статье мы анонсировали Dart Code Metrics — инструмент статического анализа кода. Сегодня я расскажу про новые возможности, которые появились в Dart Code Metrics с выходом очередного мажорного обновления. Поговорим про появление команд, поддержку монорепозиториев, улучшения в интеграции с CI/CD, и, конечно же, про новые правила для анализатора. Теперь у инструмента появился сайт с документацией, его можно найти здесь.
Холиварный рассказ про линтеры
Линтеры помогают приводить код к единому стилю и избегать ошибок. Правда, только в том случае, если вы готовы к страданиям, а не отмахиваетесь в конце концов «pylint: disable», только чтобы оно отстало. Какой должен быть линтер, и почему таки не обойтись Pylint, знает Никита Соболев (sobolevn), который понимает и любит линтеры настолько, что даже свою компанию назвал так, чтобы их не расстраивать — wemake.services.
Ниже текстовая версия доклада на Moscow Python Conf++ про линтеры, как их делать правильно и как не нужно. В выступлении было много интерактива, онлайна и общения с аудиторией. Спикер по ходу дела проводил опросы и старался переубедить слушателей: смотрел на тренд, и как в дебатах, пытался выровнять соотношение и поменять общественное мнение. Какая-то часть с опросами попала в расшифровку, но не вся, поэтому для полноты картины прилагается видео.
Как создать кастомный плагин для Dart-анализатора
Привет! Меня зовут Дима, я frontend-разработчик в компании Wrike. В этой статье я расскажу про то, как написать плагин для анализа кода на Dart. Текст будет полезен тем, кому не хватает текущей функциональности дартового анализатора по статическому анализу или если вам просто захочется попробовать написать простой анализатор самостоятельно.
Готовый набор golang линтеров (джунам и мидлам)
При рефакторинге легаси проекта перед нами встала задача внедрить в компании готовый линтер-тулз, дабы минимизировать объёмы генерируемого говнокода.
Вот что у нас получилось (полная инструкция по внедрению).
10 самых распространенных проблем при линтинге Dockerfile'ов
Весной 2023 года разработчики Depot добавили в свой сервис возможность проверять Dockerfile'ы при каждой сборке.
В этой статье они делятся десятью наиболее распространенными проблемами при линтинге Dockerfile'ов, разбирают каждую проблему и объясняют, почему она возникает и как ее решить. Авторы отмечают, что со временем список может измениться, но даже в таком виде он станет хорошей отправной точкой для оптимизации Dockerfile'ов.
Мониторинг под рукой на IxoraRMS. Быстро и со вкусом
Иногда проблема с приложением выливается в небольшой кошмар, ребус. Назовите, как хотите. Хочу поделиться об опыте использования средств мониторинга разработчиками на одном из проектов. Хабр многолик и уже существуют десятки статей о продуктах, которые облегчают понимание происходящего: cacti — habrahabr.ru/post/179391; zabbix — habrahabr.ru/post/137641; collectd — habrahabr.ru/post/93205; штатные средства JVM — habrahabr.ru/post/147008 (дополняйте).
Попробую рассказать о еще одном небольшом универсальном и легковесном продукте в этой категории — IxoraRMS.
Всем интересующимся, добро пожаловать под кат.
СУБД ЛИНТЕР Бастион успешно протестирована на ReactOS
Коллектив разработчиков ReactOS представляет вашему вниманию свой первый совместный пресс-релиз с компанией ЗАО НПП «РЕЛЭКС».
Специалистами ЗАО НПП «РЕЛЭКС» успешно завершены работы по тестированию СУБД ЛИНТЕР Бастион на операционной системе ReactOS.
Замеры показали, что Линтер под управлением ReactOS дает прирост производительности на 10-15% по сравнению с Windows XP на идентичной аппаратной конфигурации. В ходе работ были выявлены недостатки в ОС, которые были оперативно устранены сообществом разработчиков при непосредственном и активном участии российского фонда ReactOS.
СУБД ЛИНТЕР и ReactOS, технические детали
Под катом вас ждут технические детали работ, включая опыт развертывания ReactOS на реальном железе, и немного моего субъективного мнения об этом проекте.
Модель ветвления и управления модулями git для большого проекта
Использование возможностей git-а в системе сборки модульного проекта
Система сборки для больших модульных проектов
Все люди не умеют писать код
NoVerify: PHP-линтер, который работает быстро
Сайт с миллионами пользователей — это ВКонтакте. Разработка и добавление новых функций, тестирование и починка багов, ревью — все это должно проходить быстро, в условиях жестких дедлайнов. Поэтому хороший и быстрый линтер, который сможет проверять кодовую базу на 5 млн строк за 5−10 секунд, незаменимая вещь.
Подходящих линтеров на рынке нет, поэтому Юрий Насретдинов (youROCK) из ВКонтакте написал свой в помощь командам разработки — NoVerify. Это линтер для PHP, который написан на Go. Он работает в 10-30 раз быстрее аналогов, может находить то, о чем не предупредит PhpStorm, легко расширяется и хорошо интегрируется в проекты, в которых раньше не слышали о статическом анализе.
Об этом линтере расскажет Искандер Шарипов. Под катом:как выбирали линтер и предпочли написать свой, почему NoVerify такой быстрый и как устроен изнутри, почему написан на Go, что может находить и как расширяется, на какие компромиссы пришлось пойти ради него и что можно построить на его базе.
ruleguard: динамические проверки для Go
В этой статье я расскажу о новой библиотеке (и утилите) статического анализа go-ruleguard
, которая адаптирует gogrep
для использования внутри линтеров.
Отличительная особенность: правила статического анализа вы описываете на особом Go-подобном DSL, который на старте ruleguard
превращается в набор диагностик. Возможно, это один из самых легко конфигурируемых инструментов для реализации кастомных инспекций для Go.
В качестве бонуса, мы поговорим об go/analysis
и его предшественниках.