Jump to ratings and reviews
Rate this book

Robert C. Martin Series

Clean Code: A Handbook of Agile Software Craftsmanship

Rate this book
Even bad code can function. But if code isn't clean, it can bring a development organization to its knees. Every year, countless hours and significant resources are lost because of poorly written code. But it doesn't have to be that way.
Noted software expert Robert C. Martin presents a revolutionary paradigm with Clean Code: A Handbook of Agile Software Craftsmanship . Martin has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code on the fly into a book that will instill within you the values of a software craftsman and make you a better programmer but only if you work at it.
What kind of work will you be doing? You'll be reading code - lots of code. And you will be challenged to think about what's right about that code, and what's wrong with it. More importantly, you will be challenged to reassess your professional values and your commitment to your craft.
Clean Code is divided into three parts. The first describes the principles, patterns, and practices of writing clean code. The second part consists of several case studies of increasing complexity. Each case study is an exercise in cleaning up code - of transforming a code base that has some problems into one that is sound and efficient. The third part is the payoff: a single chapter containing a list of heuristics and "smells" gathered while creating the case studies. The result is a knowledge base that describes the way we think when we write, read, and clean code.
Readers will come away from this book understanding

‣ How to tell the difference between good and bad code
‣ How to write good code and how to transform bad code into good code
‣ How to create good names, good functions, good objects, and good classes
‣ How to format code for maximum readability
‣ How to implement complete error handling without obscuring code logic
‣ How to unit test and practice test-driven development

This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.

431 pages, Paperback

First published January 1, 2007

Loading...
Loading...

About the author

Robert C. Martin

80 books1,928 followers
Robert Cecil Martin, commonly called Uncle Bob, is a software engineer, advocate of Agile development methods, and President of Object Mentor Inc. Martin and his team of software consultants use Object-Oriented Design, Patterns, UML, Agile Methodologies, and eXtreme Programming with worldwide clients.

He was Editor in Chief of the C++ Report from 1996 to 1999. He is a featured speaker at international conferences and trade shows.

Ratings & Reviews

What do you think?
Rate this book

Friends & Following

Create a free account to discover what your friends think of this book!

Community Reviews

5 stars
12,254 (51%)
4 stars
8,335 (35%)
3 stars
2,592 (10%)
2 stars
454 (1%)
1 star
159 (<1%)
Displaying 1 - 16 of 16 reviews
Profile Image for Лиза.
26 reviews2 followers
February 3, 2023
Не понимаю, нужна ли какая-то рецензия на подобного рода литературу, но я напишу 🙃

Книжка скорее понравилась, чем не понравилась. Где-то половину можно спокойно читать, много принципов написания кода для себя подчерпнуть и автор не забывает соблюдать нужный уровень абстракции, чтобы любой разработчик мог вынести для себя полезное. Я теперь действительно больше понимаю в том, как лучше именовать переменные, как распределять ответственность между функциями, как читаемо оформлять тесты и почему комментарии это зло (оказывается!)

К сожалению, примерно с середины началось сильно про джаву и мне, как джаваскрипт девелоперке, было не сильно угарно читать про многопоточность, но я попыталась и оттуда вынести что-то полезное

А в конце вообще классный справочник с небольшими тезисами из всей книги. Это, конечно, и так заменяется конспектом, который я для себя сделала, но все равно респект

В моменте читать было не всегда просто и приятно, но после прочтения сейчас чувствую себя круче, умнее и лучше, чем до нее, а это всегда здорово!
Profile Image for Vladimir Ryashentsev.
22 reviews4 followers
November 14, 2017
Крайне простые и крайне эффективные идеи в этой книге изложены, юный падаван.
Profile Image for Ilya.
59 reviews1 follower
January 7, 2019
Ну что сказать, это обязательная для прочтения книга для любого разработчика ПО.
Здесь рассматриваются базовые принципы организации кода.
Рекомендую.
Profile Image for Aleksandr Beljakov.
13 reviews1 follower
September 15, 2017
Полезная книга, помогает систематизировать и правильно использовать знания накопленные за годы разработки.
Помогает писать действительно чистый код и задумываться о том, что ты пишешь.

Главная идеи книги:
- правило бойскаута "Оставь место стоянки чище, чем оно было до твоего прихода.".
- трата времени на чистый код окупается в дальнейшей разработке, меньше времени на понимание того, что ты читаешь и более быстрая возможность редактировать, добавлять новый функционал
- чистого когда, без тестов, не может быть
Profile Image for apollojet.
76 reviews18 followers
June 16, 2017
Книга, прочитав которую начинаешь сомневаться в том, что Robert Martin совсем сумасшедший. Не совсем. Триста страниц отличных советов накидал.
Один абзац очень повеселил — «When you'll look at this code after four year passed...». Дядушка, да где ж это видано, чтобы на одном месте больше двух лет сидеть.
Profile Image for OleksandrD.
259 reviews4 followers
Did Not Finish
September 21, 2021
Когда я начинал читать книгу, то думал, что это раздутая книга про правильное именование переменных, процедур и функций, и что прочтение будет лёгкой прогулкой. Ха, как бы не так. По началу то оно всё так и есть- в первых главах автор действительно рассказывает про выравнивание, пробелы, табуляцию и названия. Но потом начинается материал посложнее, адресованный достаточно продвинутому кодеру.
И вот тут мне немного не ясна концепция книги. Первые главы явно дают понять, что книга для джунов, но далее автор углубляется (не особо разжёвывая свои мысли) в достаточно специфические дебри, которые простому джуну будут не понятны. А для миддлов и сеньоров первые примерно 100 страниц являются лишними, т.к. если ты хотя бы миддл, то до всего этого уже и сам дошёл, наверняка.

Примеры кода в книге на Java, поэтому перед прочтением необходимо хоть немного ориентироваться в т.н. Java core. Также местами проскальзывают примеры с использованием паттернов.

В общем, вторая половина книги пока что не для моего уровня. Я прочитал 180 страниц и отложил на потом, когда буду покруче в плане понимания.
Profile Image for Nickolai.
967 reviews8 followers
March 15, 2025
Возможно, почти двадцать лет назад, эта книга и казалась откровением. Однако сегодня часть ее - это общеизвестные факты. Другая часть уже не воспринимается истиной и даже оспаривается многими авторами. И не во всех случаях SOLID и другие принципы чистого кода это добро. Иногда они неимоверно затрудняют жизнь программистов. Своими глазами видел супер-чистый код в десятках файлов и около тысячи строк. Всё было при этом настолько нелогично, хоть и програмно верно, что было принято решение провести рефакторинг. Получился код «погрязнее», зато намного интуитивно понятнее и легче для поддержания.
Profile Image for Dmitriy Krivega.
3 reviews
November 5, 2019
Впечатление от книги в целом положительное. Расписаны основные нюансы и правила написания «чистого» кода. К минусам можно отнести однобокие концепции ООП подхода. Ну и листинг кода в конце книги не на один десяток страниц кажется лишним.
Profile Image for Ivan Koma.
394 reviews1 follower
February 23, 2021
Конечно книга подустарела для 2020-2021 годов, но основные принципы разработки остались неизменны. DRY, комментарии, компоненты и т.д.
Мой совет для чтения, не вдаваться в каждую главу, как рекомендует автор, а посмотреть по верхам, найти интересные вам главы и с удовольствием их прочитать)
Profile Image for Alexey Korsakov.
1 review
March 8, 2018
2/3 спорно, остальное можно уместить в 10 страниц
Profile Image for Алексей Осецкий.
23 reviews
June 24, 2020
Узнал о законе деметры, но в основном книга состоит из перечня правил и примеров кода ревью. Читать её от корки до корки скучновато.
Profile Image for Gleb Kondratenko.
5 reviews
June 28, 2021
Лёгкое чтение о концепциях написания читаемого кода с большим числом примеров.
Profile Image for Hennadiy.
97 reviews1 follower
November 16, 2023
* Придумывать норм имена переменным/функцифм и так далее
* Не использовать в именах файлов Abstract/Interface
* Не комментируйте плохой код - лучше перепишите его
И много других полезных советов (особенно для новичков)
45 reviews3 followers
March 8, 2016
Чистый код Роберта Мартина оставил неоднозначное впечатление. С одной стороны идеи правильные, важные и нужные. Но с другой стороны при чтении постоянно возникало ощущение, что книгу написали в конце девяностых. Гигантские листинги, повсеместное использование mutable state, активная пропаганда overengineering'а в виде решения микроскопических проблем применением одного-двух паттернов – все это казалось безумно устаревшим и приводило к сильным приступам скепсиса. Ну не всегда кучка из 50 методов по одной строке лучше читаются, чем один метод из 50 строк!

Манера изложения материала, кажется подчиняется идеям автора – в книге присутствует множество мини глав в пару абзацев, однако общая структура повествования при этом страдает – единой мысли, стоящей за этими главами, успешно удается прятаться

Тем не менее, книга заставляет думать в правильном направлении, и в этом её неоспоримая польза. Рекомендуется к прочтению программистами любой степени матерости, но надо помнить, что советы, данные в книге, не стоит возводить в разряд догм, а применять не забывая о прагматизме
30 reviews
April 7, 2017
Отличная книга, с полезными правилами и идеями.
Displaying 1 - 16 of 16 reviews