Clean Code

A Handbook of Agile Software Craftsmanship

Robert C. Martin,

Clean Code: A Handbook of Agile Software Craftsmanship
 

About the eBook

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.
Show more



In The Press


About the Author


  • ;
  • ISBN:
  • Edition:
  • Title:
  • Series:
  • Author:
  • Imprint:
  • Language:
  • Number of Pages:  [disclaimer] Page count shown is an approximation provided by the publisher. The actual page count will vary based on various factors such your device's screen size and font-size.

Read online

You can read this ebook online in a web browser, without downloading anything or installing software.

Download file formats

This ebook is available in file types:

This ebook is available in:

After you've bought this ebook, you can choose to download either the PDF version or the ePub, or both.

DRM Free

The publisher has supplied this book in DRM Free form with digital watermarking.

Required software

You can read this eBook on any device that supports DRM-free EPUB or DRM-free PDF format.

Digital Rights Management (DRM)

The publisher has supplied this book in encrypted form, which means that you need to install free software in order to unlock and read it.

Required software

To read this ebook on a mobile device (phone or tablet) you'll need to install one of these free apps:

To download and read this eBook on a PC or Mac:

  • Adobe Digital Editions (This is a free app specially developed for eBooks. It's not the same as Adobe Reader, which you probably already have on your computer.)

Limits on printing and copying

The publisher has set limits on how much of this ebook you may print or copy. See details.

  • {{ format_drm_information.format_name }} unrestricted {{ format_drm_information.format_name }} {{format_drm_information.page_percent}}% pages every day{{format_drm_information.interval}} days {{ format_drm_information.format_name }} off
Read Aloud
  • {{ read_aloud_information.format_name }} on {{ read_aloud_information.format_name }} off
Subject categories
  •  > 
ISBNs