[{"data":1,"prerenderedAt":129},["ShallowReactive",2],{"$fJtR1pxl_vnqq6GrbH1n7itFEjZURVuHoQW7RLM3uWqM":3},{"article":4,"similarArticles":15,"tagCounts":127},{"slug":5,"content":6,"notes":7,"groupedNotes":8,"title":9,"date":10,"description":11,"tags":12,"author":14},"martin-robert-c-clean-code-a-handbook-of-agile-software","\u003Ch4 id=\"1-общее-описание\">1. Общее описание\u003C\u002Fh4>\n\u003Cp>Книга представляет собой \u003Cstrong>практическое руководство по «ремеслу» (craftsmanship) разработки программного обеспечения\u003C\u002Fstrong> в рамках Agile-подхода. Она посвящена искусству написания качественного кода, который легко читать, поддерживать и изменять. По своему типу это \u003Cstrong>гибрид самоучителя и справочника\u003C\u002Fstrong>: автор предлагает как пошаговые разборы примеров (например, рефакторинг системы аренды видео), так и теоретические выкладки принципов. Текст рассчитан на \u003Cstrong>профессиональных программистов\u003C\u002Fstrong>, которые стремятся перейти от простого написания работающего кода к уровню мастера. Освоив материал, читатель научится отличать «чистый» код от «грязного», овладеет навыками рефакторинга и поймет, как применять дисциплины тестирования для создания надежных систем.\u003C\u002Fp>\n\u003Ch4 id=\"2-структура-и-карта-охвата\">2. Структура и карта охвата\u003C\u002Fh4>\n\u003Cp>Книга разделена на четыре логические части, выстроенные от микро-уровня кода к макро-уровню организации систем:\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Часть I: Код.\u003C\u002Fstrong> Подробно разбираются низкоуровневые практики: именование, структура функций, форматирование, обработка ошибок и работа с ИИ.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Часть II: Дизайн.\u003C\u002Fstrong> Переход к правилам объектно-ориентированного проектирования, принципам SOLID и вопросам многопоточности.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Часть III: Архитектура.\u003C\u002Fstrong> Охватывает темы границ системы, независимости компонентов и концепцию «Чистой архитектуры».\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Часть IV: Профессионализм.\u003C\u002Fstrong> Этика, дисциплина оценки (estimation) и командная работа.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Cp>Порядок глав обусловлен принципом \u003Cstrong>постепенного повышения уровня абстракции\u003C\u002Fstrong>. За скобками остаются детали конкретных фреймворков, так как автор призывает делать архитектуру независимой от них.\u003C\u002Fp>\n\u003Ch4 id=\"3-описание-разделов\">3. Описание разделов\u003C\u002Fh4>\n\u003Ch5 id=\"часть-i-код-главы-117\">Часть I: Код (Главы 1–17)\u003C\u002Fh5>\n\u003Cp>В этом разделе осваиваются базовые кирпичики чистого кода.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Основы и именование:\u003C\u002Fstrong> Правильные имена должны раскрывать намерения автора без комментариев. Код должен читаться как хорошо написанная проза.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Функции и классы:\u003C\u002Fstrong> Главное правило — функции должны быть \u003Cstrong>крошечными\u003C\u002Fstrong> (буквально несколько строк) и делать \u003Cstrong>только одну вещь\u003C\u002Fstrong>. Вводится «правило спуска» (Stepdown Rule): код должен читаться сверху вниз, где каждая функция ведет к следующему уровню абстракции. Классы также должны иметь одну ответственность (SRP).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Комментарии и форматирование:\u003C\u002Fstrong> Комментарии рассматриваются как «признак неудачи» выразить мысль в самом коде. Форматирование — это средство коммуникации, оно важнее, чем «просто работающий код», так как влияет на поддерживаемость.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Дисциплины тестирования:\u003C\u002Fstrong> Подробно разбираются TDD (разработка через тестирование), TCR (Test &#x26;&#x26; Commit || Revert) и метод небольших пакетов (Small Bundles). Тесты — это не только способ проверки, но и низкоуровневая документация системы.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>ИИ и LLM:\u003C\u002Fstrong> Новая глава для второго издания, обсуждающая «программирование промптами» и то, почему владение навыками чистого кода критически важно для контроля кода, генерируемого ИИ.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch5 id=\"часть-ii-дизайн-главы-1822\">Часть II: Дизайн (Главы 18–22)\u003C\u002Fh5>\n\u003Cp>Раздел посвящен организации связей между модулями.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Простой дизайн и SOLID:\u003C\u002Fstrong> Четыре правила простого дизайна Кента Бека (тесты, ясность, отсутствие дубликатов, минимализм). Подробно разбираются пять принципов SOLID, которые позволяют создавать гибкие и устойчивые к изменениям структуры.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Многопоточность (Concurrency):\u003C\u002Fstrong> Описываются сложности параллельного выполнения и принципы защиты (ограничение области данных, использование копий).\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Непрерывный дизайн:\u003C\u002Fstrong> Идея того, что дизайн — это не фаза, а постоянный процесс улучшения кода при добавлении каждого нового поведения.\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch5 id=\"часть-iii-архитектура-главы-2327\">Часть III: Архитектура (Главы 23–27)\u003C\u002Fh5>\n\u003Cp>Здесь изучается «форма» системы.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Независимость и границы:\u003C\u002Fstrong> Хорошая архитектура позволяет откладывать решения о базе данных, веб-серверах и фреймворках на как можно более поздний срок. Вводится понятие «плагинной архитектуры», где БД и UI являются лишь деталями, подключаемыми к ядру бизнес-правил.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Чистая архитектура (Clean Architecture):\u003C\u002Fstrong> Концепция концентрических кругов, где зависимости всегда направлены внутрь, к высшим политикам (Entity и Use Cases), защищая их от изменений во внешних механизмах (БД, веб).\u003C\u002Fli>\n\u003C\u002Ful>\n\u003Ch5 id=\"часть-iv-ремесло-и-этика-главы-2837\">Часть IV: Ремесло и Этика (Главы 28–37)\u003C\u002Fh5>\n\u003Cp>Заключительная часть фокусируется на личности программиста.\u003C\u002Fp>\n\u003Cul>\n\u003Cli>\u003Cstrong>Клятва и ответственность:\u003C\u002Fstrong> Программисты «правят миром», и их ошибки могут стоить жизней. Предлагается «Клятва программиста» из 10 пунктов, включая обещание не производить вредоносный код и всегда предоставлять доказательство его работоспособности.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Продуктивность и командная работа:\u003C\u002Fstrong> Как управлять временем (метод Помодоро), избегать «состояния потока» (которое может вредить качеству) и работать сообща через парное или моб-программирование.\u003C\u002Fli>\n\u003Cli>\u003Cstrong>Оценка и обучение:\u003C\u002Fstrong> Использование статистических методов (PERT) для честной оценки сроков. Акцент на том, что профессионал обязан учиться всю жизнь и брать ответственность за свою карьеру на себя.\u003C\u002Fli>\n\u003C\u002Ful>",[],{},"Clean Code: A Handbook of Agile Software Craftsmanship (2025)","2026-07-16","Практическое руководство по ремеслу разработки: читаемый код, рефакторинг и дисциплины тестирования в Agile-среде.",[13],"Программирование","Martin, Robert C.",[16,23,29,35,41,46,51,55,60,67,73,78,82,86,92,99,106,113,117,123],{"slug":17,"title":18,"date":19,"author":20,"tags":21},"notashelf-taste-is-all-that-s-left-2026","Taste Is All That's Left (2026)","2026-08-10","notashelf",[22,13],"AI",{"slug":24,"title":25,"date":26,"author":27,"tags":28},"brooks-frederick-p-jr-the-mythical-man-month-essays-on","The Mythical Man-Month: Essays on Software Engineering (1995)","2026-07-22","Brooks, Frederick P., Jr.",[13],{"slug":30,"title":31,"date":26,"author":32,"tags":33},"mdn-contributors-css-performance-optimization-2025","CSS performance optimization (2025)","MDN Contributors",[34,13],"Frontend",{"slug":36,"title":37,"date":26,"author":38,"tags":39},"simpson-kyle-you-don-t-know-js-async-performance-2015","You Don't Know JS: Async &#x26; Performance (2015)","Simpson, Kyle",[40,34,13],"Javascript",{"slug":42,"title":43,"date":26,"author":44,"tags":45},"spolsky-joel-the-law-of-leaky-abstractions-2002","The Law of Leaky Abstractions (2002)","Spolsky, Joel",[13],{"slug":47,"title":48,"date":26,"author":49,"tags":50},"stemmler-khalil-client-side-architecture-basics-i","Client-Side Architecture Basics: I. Architecture (2020)","Stemmler, Khalil",[34,13],{"slug":52,"title":53,"date":26,"author":49,"tags":54},"stemmler-khalil-client-side-architecture-basics-ii","Client-Side Architecture Basics: II. Principles (2020)",[34,13],{"slug":56,"title":57,"date":10,"author":58,"tags":59},"kholmatova-alla-design-systems-a-practical-guide-to","Design Systems: A practical guide to creating design languages for digital products","Kholmatova, Alla",[13],{"slug":61,"title":62,"date":63,"author":64,"tags":65},"corbin-henry-the-imago-templi-in-confrontation-with-secular","The Imago Templi in Confrontation with Secular Norms; Temple and Contemplation (1986)","2026-08-20","Corbin, Henry",[66],"Корбен",{"slug":68,"title":69,"date":63,"author":70,"tags":71},"damasio-antonio-r-descartes-error-emotion-reason-and-the","Descartes' Error: Emotion, Reason, and the Human Brain (1994)","Damasio, Antonio R.",[72],"Психология",{"slug":74,"title":75,"date":63,"author":76,"tags":77},"dixon-thomas-alexander-bain-herbert-spencer-charles-darwin","Alexander Bain, Herbert Spencer, Charles Darwin (from «From Passions to Emotions», 2003)","Dixon, Thomas",[72],{"slug":79,"title":80,"date":63,"author":76,"tags":81},"dixon-thomas-from-passions-to-emotions-the-creation-of-a","From Passions to Emotions. The Creation of a Secular Psychological Category (2003)",[72],{"slug":83,"title":84,"date":63,"author":76,"tags":85},"dixon-thomas-teoriya-dzheimsa-makkosha-iz-from-passions-to","Теория Джеймса Маккоша (из «From Passions to Emotions», 2003)",[72],{"slug":87,"title":88,"date":63,"author":89,"tags":90},"donnellan-brendan-friedrich-nietzsche-and-paul-ree","Friedrich Nietzsche and Paul Rée. Cooperation and Conflict (1982)","Donnellan, Brendan",[91],"Ницше",{"slug":93,"title":94,"date":63,"author":95,"tags":96},"heilbroner-robert-l-do-machines-make-history-1967","Do Machines Make History (1967)","Heilbroner, Robert L.",[97,98],"Политика","История",{"slug":100,"title":101,"date":63,"author":102,"tags":103},"kolesnitsa-bez-khozyaina","Колесница без хозяина","NotebookLM",[104,105],"Платон","Индия",{"slug":107,"title":108,"date":63,"author":109,"tags":110},"sanders-robert-h-an-alternative-to-dark-matter-modified","An Alternative to Dark Matter: Modified Newtonian Dynamics (from «The Dark Matter Problem. A Historical Perspective», 2009)","Sanders, Robert H.",[111,112],"Космология","Физика",{"slug":114,"title":115,"date":63,"author":109,"tags":116},"sanders-robert-h-deconstructing-cosmology-2016","Deconstructing Cosmology (2016)",[111,112],{"slug":118,"title":119,"date":63,"author":120,"tags":121},"serkov-a-i-dumskoe-masonstvo-i-vremennoe-pravitelstvo-iz","«Думское масонство» и Временное правительство (из «Истории русского масонства. 1845–1945», 1997)","Серков, А.И.",[122,98],"Масонство",{"slug":124,"title":125,"date":63,"author":120,"tags":126},"serkov-a-i-masonstvo-mikhaila-bakunina-iz-istorii-russkogo","Масонство Михаила Бакунина (из «Истории русского масонства. 1845–1945», 1997)",[122,98],{"Программирование":128},9,1787241654253]