#clean_code

2025-05-30

Автоматизация проверки стиля кода с помощью KtLint в Android проекте

Современная разработка программного обеспечения требует не только написания функционального кода, но и обеспечения его качества, надежности и безопасности. Для обеспечения этого во многих командах по-прежнему существует Code Review. По моему мнению в 90% случаев это абсолютно бесполезная трата времени и сил разработчиков команды. Code Review это рудимент, который изжил себя. Я не утверждаю, что Code Review должен исчезнуть - принцип и подход должны измениться. Ручная организация Code Review ведет к деградации продуктивности и взаимоотношений внутри команды. Очень часто Code Review превращается в способ самоутверждения, эмоциональной разрядке одного из участников команды за счет других. Комментарии часто бывают противоречивыми и контр продуктивными. Как этого избежать? Ответ – полностью автоматизировать этот процесс. Одним из ключевых инструментов для достижения этой цели является статистический анализ кода - метод автоматизированной проверки исходного кода без его выполнения. Я всю свою практику участвовал в командах, где Code Review было ручным и каждый участник команды ставил approve, либо оставлял комментарий. Думаю, так происходит и сейчас во многих командах. Качество такого Review низкое и трудно быть по-настоящему объективным. Мне повезло участвовать в большом стартапе и начать проект самостоятельно. И в моем проекте я решил покончить с Code Review. Что мне было необходимо? Нужен был инструмент который бы приводил код к единому стилю и избавил меня и других участников команды от необходимости проверять стиль кода. Сюда входит правила расстановки новых строк, именования методов, отступы и тд. Необходимо чтоб инструмент подсвечивал места где стиль не соблюдается и исправлял автоматически такие места.

habr.com/ru/articles/914250/

#kotlin #code_style #static_analysis #android #intellijidea #command #management #clean_code

2025-04-08

Архитектура в Laravel. Как сделать код понятным и масштабируемым

Сегодня поговорим о теме, где нет универсальных решений, но есть проверенные практики — как организовать код в Laravel, чтобы он оставался чистым даже спустя годы развития .

habr.com/ru/articles/898584/

#паттерны_проектирования #шаблоны_проектирования #clean_code

2025-02-15

Моем Код с Мылом

Разберём ключевые принципы именования переменных, проектирования функций и других аспектов, чтобы писать код, который будет понятен вам и вашей команде спустя годы. Читать!

habr.com/ru/articles/882794/

#clean_code #чистый_код #роберт_мартин #обзор #обзор_книги #читабельность_кода #читаемый_код #поддержка_кода

2024-11-20

Избавляемся от Android в api-модулях

Небольшой туториал на тему «Как уменьшить количество Android-модулей в проекте при помощи оберток над Android-классами» На решение, которое будет описано ниже, меня натолкнула статья Оптимизация Gradle: избавляемся от Android-модулей . В ней приведен синтетический бенчмарк, из которого видно, что количество gradle-модулей с Android-плагином негативно влияет на скорость конфигурации проекта, а также на количество необходимой памяти. Мы, как инженеры, должны воспользоваться каждой возможностью ускорить сборку проекта. Однако в статье приведено несколько недостатков описанного подхода, и на момент написания статьи они были критичными и не давали возможности использовать его в нашем проекте. Итак, теперь сначала..

habr.com/ru/companies/alfa/art

#kotlin #android #architecture #clean_code #clean_architecture #gradle

2024-10-17

Тот самый «Дядя Боб» на моём подкасте! Встреча с Робертом Мартином – автором Clean Code — Пишите ваши вопросы

🔥 Вы готовы услышать то, что изменит ваш взгляд на разработку? 🔥 Как вы знаете, я приглашаю на свои подкасты знаменитых людей, которые продвинули программирование вперед: профессор доктор Бертран Мейер , Марк Симан , Джеффри Рихтер , Ребекка Вирфтс-Брок , и мой октябрьский гость — Роберт С. Мартин . На моем следующем подкасте —легендарный Роберт Мартин , известный всему миру как "Дядя Боб" ! 🤯 Автор культовых книг Clean Code и Clean Architecture , он откроет нам свой взгляд на принципы разработки, которые формируют будущее IT. Что делает код по-настоящему чистым? Почему SOLID-принципы так важны, и как их правильно применять в реальных проектах? Какой путь должен пройти каждый разработчик, чтобы стать настоящим мастером своего дела? Но это еще не всё— у вас есть возможность задать свои вопросы самому Роберту Мартину! Оставляйте их в комментариях, и самые интересные мы обсудим на подкасте. Не упустите свой шанс задать вопрос одному из самых влиятельных людей в мире программирования! 👨‍💻 Какие вопросы вас волнуют? Пишите их в комментариях, и, возможно, именно ваш вопрос станет темой нашего обсуждения с Дядей Бобом!

habr.com/ru/articles/851354/

#Дядя_Боб #роберт_мартин #clean_code #clean_architecture #podcast

2024-08-28
2024-08-17

Основы чистого кода на Python (PEP8, SOLID, ООП) ::: часть 1

Когда вы уже написали несколько своих небольших пет-проектов, вы начинаете понимать что чистый код, архитектура и другие паттерны программирования начинают иметь смысл. В масштабируемых, командный или коммерческих проектах это несет особую ценность. Изучив эти принципы, новички получат представление о построении надежных, гибких и легко тестируемых приложений, что позволит им сохранить ясность кодовой базы и возможность ее сопровождения по мере роста их проектов. В этой статье мы разберем: что такое PEP8, что такое SOLID и какие есть правила написания чистого кода. А во второй части мы разберем что такое poetry, тесты и методологии разработки.

habr.com/ru/articles/836678/

#python #clean_code #clean_architecture #pep8 #SOLID #DRY #KISS #unixway #чистый_код #ООП

Ali Palvanealipalvane
2024-07-14

Why I think HTMX doesn't have clean code


2024-04-08

Знакомимся с 'log enrichment'

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

habr.com/ru/articles/806269/

#observability #logging #net #clean_code

2023-12-12

Наводим порядок в конфигах Webpack

Всем привет. Меня зовут Евгений Чернышев, и я возглавляю фронтенд-разработку в одном из направлений деятельности Домклик. Хочу поделиться своими мыслями о том, как управлять сложными конфигурациями Webpack. Сразу «проведу черту», чтобы предотвратить возможные холивары: сравнение Webpack с другими бандлерами (Rollup, Vite и прочими) выходит за рамки статьи. Де-факто, Webpack является основным сборщиком фронтенд-проектов. Это зрелый продукт, который до сих пор развивается и повсеместно используется. Но, как и любой инструмент, он имеет свои слабые стороны. Я считаю что основной недостаток Webpack — это сложность его конфигурации. На крупных долгоживущих проектах конфигурационные файлы становятся слишком большими и нечитаемыми, превращаясь в мешанину вложенных объектов и spread-операторов. Чтобы показать, что я имею в виду, рассмотрим стадии развития проекта.

habr.com/ru/companies/domclick

#webpack #webpack_5 #builder #clean_code

2023-11-20

Принципы непрерывного рефакторинга

Работа со старым кодом для многих команд является частью повседневных обязанностей. За свою карьеру я видел и применял разные способы борьбы с тяжестью легаси. Они обычно сводились к одному из трёх основных сценариев: " Работает - не трогай! ": вообще забить на чистки и ничего не менять. В некоторых случаях валидный подход. Но в коде, который приходится менять хотя бы даже эпизодически (фиксы багов, мелкие доделки, смена окружения и т.п.), со временем неизбежно приводит к катастрофе. Вам надо что-то поменять в коде, и это оказывается невозможно сделать легко. Даже за тривиальные изменения приходится платить большой кровью. " Я прочитал Роберта Мартина ": включаем чистки в обычный код. Надеваем галстук бойскаута и чистим код прямо по ходу работы над текущими задачами. Отправляем его коллегам на ревью и ждём несколько дней, покуда они не разберутся, где заканчиваются рефакторинги и начинаются непосредственно изменения по задаче. Или же уходим по кривой дорожке рефакторингов в тёмный лес и продалбываем к чертям все изначальные сроки. Когда начинаешь приводить код к идеалу, не всегда бывает так легко остановиться! " Нужен порядок и учёт ": делаем отдельные коммиты с чистками, но нерегулярно - только когда в дело берётся соответствующий тикет. Правда, тикеты на рефакторинг почему-то регулярно получают самый низкий приоритет во время планирования и маринуются в беклоге месяцами. Но что уж тут поделать? Это всё ловушки! Все эти сценарии страдают одной общей проблемой: темп чисток неудовлетворительно низок. Код зарастает грязью и происходит неизбежная деградация. Задачи делаются всё медленнее, процент дефектов всё выше, отвращение от работы с кодом растёт, новички адаптируются всё медленнее и медленнее. Все несчастны и не знают, что делать. За прошедший год я нащупал и отточил ещё один подход, который лишён указанных недостатков. И теперь готов поделиться им с вами.

habr.com/ru/articles/774722/

#refactoring #clean_code #codemod #siebenapp #mikado_method #legacy_code

2023-09-30

Is your codebase in need of a makeover? SOLID principles are your solution. Join us as we dissect these principles, learn how you can revamp your software development process.

Check out the full article👇
blog.lab.sa/what-are-solid-pri







Client Info

Server: https://mastodon.social
Version: 2025.04
Repository: https://github.com/cyevgeniy/lmst