Clean Code A Handbook of Agile Software Craftsmanship

ISBN-10: 0132350882

ISBN-13: 9780132350884

Edition: 2009

Authors: Robert C. Martin

List price: $49.99 Buy it from $26.05 Rent it from $19.64
eBook available
30 day, 100% satisfaction guarantee

If an item you ordered from TextbookRush does not meet your expectations due to an error on our part, simply fill out a return request and then return it by mail within 30 days of ordering it for a full refund of item cost.

Learn more about our returns policy


Even bad code can function. But if code isnrsquo;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 doesnrsquo;t have to be that way. Noted software expert Robert C. Martin, presents a revolutionary paradigm withClean Code: A Handbook of Agile Software Craftsmanship. Martin, who has helped bring agile principles from a practitionerrsquo;s point of view to tens of thousands of programmers, has teamed up with his colleagues from Object Mentor to distill their best agile practice of cleaning code ldquo;on the flyrdquo; into a book that will instill within you the values of software craftsman, and make you a better programmer-but only if you work at it. What kind of work will you be doing? Yoursquo;ll be reading code-lots of code. And you will be challenged to think about whatrsquo;s right about that code, and whatrsquo;s wrong with it. More importantly you will be challenged to reassess your professional values and your commitment to your craft. Clean Codeis 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 ldquo;smellsrdquo; 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 What ldquo;smellsrdquo; and heuristics can help you identify bad code This book is a must for any developer, software engineer, project manager, team lead, or systems analyst with an interest in producing better code.
Used Starting from $26.05
Rent Starting from $19.64
eBooks Starting from $39.99
Buy eBooks
what's this?
Rush Rewards U
Members Receive:
You have reached 400 XP and carrot coins. That is the daily max!
Study Briefs

Limited time offer: Get the first one free! (?)

All the information you need in one place! Each Study Brief is a summary of one specific subject; facts, figures, and explanations to help you learn faster.

Add to cart
Study Briefs
SQL Online content $4.95 $1.99
Add to cart
Study Briefs
MS Excel® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS Word® 2010 Online content $4.95 $1.99
Add to cart
Study Briefs
MS PowerPoint® 2010 Online content $4.95 $1.99
Customers also bought

Book details

List price: $49.99
Copyright year: 2009
Publisher: Prentice Hall PTR
Publication date: 8/1/2008
Binding: Paperback
Pages: 464
Size: 7.00" wide x 9.25" long x 1.00" tall
Weight: 1.628
Language: English

On the Cover
Clean Code
There Will Be Code
Bad Code
The Total Cost of Owning a Mess
Schools of Thought
We Are Authors
The Boy Scout Rule
Prequel and Principles
Meaningful Names
Use Intention-Revealing Names
Avoid Disinformation
Make Meaningful Distinctions
Use Pronounceable Names
Use Searchable Names
Avoid Encodings
Avoid Mental Mapping
Class Names
Method Names
Don't Be Cute
Pick One Word per Concept
Don't Pun
Use Solution Domain Names
Use Problem Domain Names
Add Meaningful Context
Don't Add Gratuitous Context
Final Words
Do One Thing
One Level of Abstraction per Function
Switch Statements
Use Descriptive Names
Function Arguments
Have No Side Effects
Command Query Separation
Prefer Exceptions to Returning Error Codes
Don't Repeat Yourself
Structured Programming
How Do You Write Functions Like This?
Comments Do Not Make Up for Bad Code
Explain Yourself in Code
Good Comments
Bad Comments
The Purpose of Formatting
Vertical Formatting
Horizontal Formatting
Team Rules
Uncle Bob's Formatting Rules
Objects and Data Structures
Data Abstraction
Data/Object Anti-Symmetry
The Law of Demeter
Data Transfer Objects
Error Handling
Use Exceptions Rather Than Return Codes
Write Your Try-Catch-Finally Statement First
Use Unchecked Exceptions
Provide Context with Exceptions
Define Exception Classes in Terms of a Caller's Needs
Define the Normal Flow
Don't Return Null
Don't Pass Null
Using Third-Party Code
Exploring and Learning Boundaries
Learning log4j
Learning Tests Are Better Than Free
Using Code That Does Not Yet Exist
Clean Boundaries
Unit Tests
The Three Laws of TDD
Keeping Tests Clean
Clean Tests
One Assert per Test
Class Organization
Classes Should Be Small!
Organizing for Change
How Would You Build a City?
Separate Constructing a System from Using It
Scaling Up
Java Proxies
Pure Java AOP Frameworks
AspectJ Aspects
Test Drive the System Architecture
Optimize Decision Making
Use Standards Wisely, When They Add Demonstrable Value
Systems Need Domain-Specific Languages
Getting Clean via Emergent Design
Simple Design Rule 1: Runs All the Tests
Simple Design Rules 2-4: Refactoring
No Duplication
Minimal Classes and Methods
Why Concurrency?
Concurrency Defense Principles
Know Your Library
Know Your Execution Models
Beware Dependencies Between Synchronized Methods
Keep Synchronized Sections Small
Writing Correct Shut-Down Code Is Hard
Testing Threaded Code
Successive Refinement
Free shipping on orders over $35*

*A minimum purchase of $35 is required. Shipping is provided via FedEx SmartPost® and FedEx Express Saver®. Average delivery time is 1 – 5 business days, but is not guaranteed in that timeframe. Also allow 1 - 2 days for processing. Free shipping is eligible only in the continental United States and excludes Hawaii, Alaska and Puerto Rico. FedEx service marks used by permission."Marketplace" orders are not eligible for free or discounted shipping.

Learn more about the TextbookRush Marketplace.