Обновить
256K+

Качество кода *

Как Макконнелл завещал

149,51
Рейтинг
Сначала показывать
Порог рейтинга
Уровень сложности

Передаем код правильно

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели4.7K

Чек-лист для фиксации программного обеспечения. Внедрите эту практику в своем стартапе или студии:

В договоре: Пропишите, что результатом является исходный код в системе контроля версий

В процессе: Перед подписанием акта разработчик делает git bundle

В акте: Укажите имя файла и его SHA-256 хэш

Подпись: Используйте электронную подпись, выданную удостоверяющим центром

Хранение: Сохраните файл дампа в надежном хранилище (не только на рабочем ноутбуке)

Читать далее

Новости

РБПО по ГОСТ: где на самом деле ломается безопасность кода

Время на прочтение15 мин
Охват и читатели5.1K

Привет, Хабр! 

Меня зовут Александр Сахаров, я директор по работе с партнерами в Диасофт. Мы строим экосистему Digital Q - платформу для enterprise-разработки - и сейчас решаем задачу, которая касается всех: как зашить безопасность внутрь конвейера так, чтобы она работала сама, а не превращалась в бумажный ритуал перед релизом. ГОСТ Р 56939-2024 уже вступил в силу, нейронки залезли в пайплайны, а инциденты почему-то не кончаются. Чтобы понять ожидания рынка я собрал экспертов на обсуждение нового ГОСТа и проблем безопасности. 

Кому удобнее смотреть - полная версия на Rutube. Спорить и задавать вопросы лучше всего в Telegram-канале Департамент разработки. Там уже много реальных разработчиков, можно свободно обсуждать любые темы. 

Читать далее

Оптимизация производительности во Flutter

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели6.4K

Производительность Flutter-приложения напрямую зависит от качества написанного кода: лишние перестроения UI, тяжёлые операции в основном потоке, неправильная работа со списками и изображениями — всё это ведёт к фризам, падению FPS и ухудшению пользовательского опыта. 

В данной статье мы собрали наиболее распространённые ошибки, которые снижают производительность Flutter-приложений, и показали, как их избежать на практике.

Читать далее

Колобок

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели7.2K

Народные сказки — это не просто фольклор, а старейший в мире архив Post-Mortem отчетов, где за метафорами скрыты фатальные ошибки проектирования, которые мы, по своей наивности, принимаем за магию

Если смотреть на «Колобка» с высоты жизненного опыта и системной архитектуры, то перед взором эпично раскинется поле Spaghetti-кода, написанного на коленке под палящим дедлайном. Знаете это чувство, когда менеджер вбегает в опенспейс с криком «Заказчик голоден, релиз нужен вчера!»? Это не работа. Это агония.

Эта история полна технической драмы, архитектурной боли и того сладкого чувства безысходности.

Интрига? Читать далее!

Закрытый контур без боли для разработчиков — миф или реальность?

Время на прочтение9 мин
Охват и читатели8K

Всем привет! Меня зовут Александр Барыков, я руковожу платформенной командой DevOps и являюсь лидером DevOps-комьюнити в нашей компании.

Сегодня хочу поделиться опытом, который мы накопили за последние четыре года. Речь пойдет о достаточно специфической, но знакомой многим теме – организации процесса скачивания и проверки внешних артефактов для размещения во внутреннем закрытом контуре. Эта статья будет полезна разработчикам, DevOps-инженерам и архитекторам, которые сталкиваются с необходимостью соблюдения строгих требований безопасности без потери темпа разработки, особенно в финансовом секторе, где есть регуляторные требования.

Читать далее

SAFe, платформенные команды и ИИ в разработке: как устроен IT в MANGO OFFICE

Уровень сложностиПростой
Время на прочтение6 мин
Охват и читатели5.1K

Почему рост IT — это не про новые команды и инструменты, а про структуру, ответственность и управление сложностью

Читать далее

Как создать FEN-to-Image Converter на Java: от шахматных фигур до красивых досок

Уровень сложностиСредний
Время на прочтение10 мин
Охват и читатели3.8K

Привет. Меня зовут Николай Пискунов, я руководитель направления Big Data. В Beeline Cloud у нас есть место для экспериментов — и я этим пользуюсь. Недавно я работал над шахматным ботом для игры по переписке в Телеграм. Одна из ключевых задач — генерация изображений шахматной доски из FEN-нотации.

Читать далее

Испытываем подход от CEO Y Combinator — запускаем ИИ фабрику работяг на базе Claude Code

Уровень сложностиПростой
Время на прочтение17 мин
Охват и читатели6.2K

Неделю назад по сети пронеслась новость о том, что генеральный директор Y Combinator Гарри Тан с помощью ИИ Claude пишет десятки тысяч строк кода ежедневно и имеет виртуальную команду из 10+ ролей. Я решил проверить насколько это решение действительно рабочее и не является ли оно очередным хайпом. В этой статье мы разберемся, что за инструмент использует CEO Y Combinator и в чем его особенности. А также попрактикуемся в его использовании.

Читать далее

Да-машина: почему ваш AI никогда не скажет что код — отстой

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели5.7K

Пользователь спросил ChatGPT про бизнес-идею «говно на палке». Ответ: «It’s not just smart - it’s genius». Stanford замерил: AI соглашается с вами на 49% чаще, чем живой человек - даже когда вы очевидно неправы. Для разработчиков это значит: ваш AI-ассистент никогда не скажет что архитектура - мусор.

Читать далее

Кажется, во мне умирает программист

Время на прочтение3 мин
Охват и читатели25K

AI должен был сделать мою работу легче. Он сделал. Только вместе с этим куда-то пропало ощущение, что я вообще что-то создаю

Читать далее

Главная проблема vibe coding — не vibe debugging

Уровень сложностиПростой
Время на прочтение5 мин
Охват и читатели9K

Я не хочу возвращаться к ручному кодингу.

Но чем больше кода пишут агенты, тем яснее: главная проблема AI-first разработки - и это не качество AI-кода.

Проблема в том, что из профессии исчезает фаза, в которой мы восстанавливались.

Читать далее

CodeClone 2.0.0b1: когда детектора клонов уже мало

Уровень сложностиСредний
Время на прочтение9 мин
Охват и читатели7.9K

В прошлой статье я показывал CodeClone как инструмент для поиска структурного дублирования в Python-коде. Не только буквальной копипасты, но и повторяющихся функций, похожих блоков и одинаковых контрольных конструкций.

За это время проект заметно изменился. Если раньше это был в первую очередь детектор клонов, то 2.0.0b1 — уже скорее инструмент для контроля структурного здоровья проекта в CI.

Читать далее

Некоторые мысли о проектировании библиотек (с примерами на Go)

Время на прочтение17 мин
Охват и читатели7.8K

Программисты много пользуются библиотеками. Но спроектировать библиотеку сложно. В этой статье я изложу некоторые соображения по поводу того, как создавать библиотеки.

Для начала разграничим, чем нам приходится заниматься при программировании. Попробуем представить акты программирования как беседы. Далее разберём, какие основные виды деятельности складываются в «программирование», как его принято понимать. Всё это послужит нам основой для разработки более качественных программных библиотек.

Читать далее

Ближайшие события

Claude Code: маршрут обучения и полезные ресурсы vol.2 (2026)

Время на прочтение3 мин
Охват и читатели8.6K

Собрала актуальный маршрут обучения Claude Code: с чего начать, какие доки и курсы пройти, и как перейти от просто попробовать к автоматизациям (skills/hooks/sub-agents/MCP).

Все ресурсы разложила в правильном порядке и коротко объяснила, как именно их проходить, чтобы не утонуть в ссылках и сразу получить результат.

Читать далее

Зачем вообще нужен sa-tests-db

Время на прочтение4 мин
Охват и читатели7.2K

Когда говорят о качестве статического анализатора, обычно показывают удобные цифры: стало меньше шума, стало больше находок, лучше сработали правила на внутреннем проекте. Проблема в том, что такие оценки слишком легко подогнать под себя.

sa-tests-db полезен ровно потому, что это внешний набор для проверки анализаторов. Он нужен не для красивой демонстрации, а для грубой, неудобной вещи: взять инструмент и посмотреть, как он проходит квалификационный критерий на чужом корпусе, а не на примерах, которые вы сами себе подготовили.

В контексте ГОСТ Р 71207-2024 это особенно важно. Там недостаточно сказать: «в среднем по языку результат хороший». Смотреть нужно по типам ошибок. Если по какому-то типу ошибок анализатор даёт слишком много ложных срабатываний или слишком много пропусков, это уже проблема, даже если общая картинка выглядит прилично.

Читать далее

ИИ съедает джунов, а вместе с ними племенной фонд индустрии

Уровень сложностиПростой
Время на прочтение4 мин
Охват и читатели9K

С 2021 года я работаю на стыке двух отраслей - цифровой и сельского хозяйства. За это время мышление у меня заметно профдеформировалось: я все чаще смотрю на другие сферы через сельхоз-призму. Мне пришла мысль провести аналоги между ИТ и племенным животноводством. Да простят меня айтишники и племенные бычки...

Что же дальше?

Как можно писать логи

Уровень сложностиСредний
Время на прочтение7 мин
Охват и читатели6.9K

За свой многолетний опыт я не встречал основательного подхода к логам приложений.
Часто я слышал фразы: "что нужны логи", "логи плохие" и т.д.
Но они слишком общие и могут означать все и ничего одновременно.

Предлагаю детально разобраться, как именно можно писать логи в этой статье.

Читать далее

Процессор в вашем компьютере угадывает будущее. И ошибается в 5% случаев

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели23K

В прошлую пятницу я объяснял джуну, почему его код на отсортированном массиве работает в шесть раз быстрее, чем на неотсортированном. Тот же массив, тот же алгоритм, и те же данные. Просто в другом порядке. Джун смотрел на меня как на сумасшедшего и, честно говоря, я его понимаю.

Потому что ответ звучит безумно: процессор внутри вашего ноутбука постоянно пытается предсказать будущее. Буквально. Он гадает, какая ветка if выполнится ещё до того, как условие будет вычислено. И на отсортированных данных ему угадывать проще.

Ну, давайте разбираться.

Читать далее

Тест для «сеньора»: в каком типе данных хранить номер паспорта?

Уровень сложностиСредний
Время на прочтение6 мин
Охват и читатели29K

Простой вопрос, который разделяет инженеров и «операторов фреймворков»

Дисклеймер для опытных: если вы знаете ответ – внутри реальный кейс, как этот баг сломал мой паспорт в проде, и история с собеседования, от которой хочется плакать.

Читать далее

Когда код растёт быстрее документации

Уровень сложностиСредний
Время на прочтение4 мин
Охват и читатели4.9K

В какой-то момент я прогнал самоаудит по своему проекту и получил неприятную, но полезную картину.

В кодовой базе оказалось 41 034 метода и 2 170 файлов. Если считать только основной код, без тестов, 12 093 метода из 19 880 были вообще без комментариев. Покрытие документацией получилось 39%.

Это не история про чужой легаси-проект. Это мой текущий код. Он просто рос быстрее, чем я успевал его объяснять.

На бумаге у меня всё было нормально: README, заметки по архитектуре, большой CLAUDE.md, отдельные пояснения по важным решениям. Но когда смотришь на реальные вопросы, которые возникают по ходу работы, быстро выясняется, что документация покрывает только часть из них.

Читать далее
1
23 ...