Home > Software Quality Tips > Software Quality Book Excerpts > Clean Code: A Handbook of Agile Software Craftsmanship, Chapter 1 -- What Is Clean Code?
Software Quality Tips:
EMAIL THIS
 TIPS & NEWSLETTERS TOPICS 

SOFTWARE QUALITY BOOK EXCERPTS

Clean Code: A Handbook of Agile Software Craftsmanship, Chapter 1 -- What Is Clean Code?


Robert C. Martin
09.09.2008
Rating: -5.00- (out of 5)


Software quality news and advice
Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google


[IMAGE]

As a registered member of SearchSoftwareQuality.com, you're entitled to a complimentary copy of Chapter 1 of Clean Code: A Handbook of Agile Software Craftsmanship written by Robert C. Martin and published by Prentice Hall. "What Is Clean Code?" sweeps away misconceptions regarding responsible coding. "Uncle Bob" Martin refers to industry luminaries on the subject of clean code and sets readers up for the hard work they will be doing in later chapters of the book.


Book description:

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


Digg This!    StumbleUpon Toolbar StumbleUpon    Bookmark with Delicious Del.icio.us    Add to Google



RELATED CONTENT
Software Quality Book Excerpts
Perfect Software, Ch. 8: What Makes a Good Test
Seven Steps to Mastering Business Analysis, Ch. 1
The Software Project Manager's Bridge to Agility: Chapter 5, Scope Management
Software Security Engineering: A Guide for Project Managers -- Chapter 3, Requirements Engineering for Secure Software
Requirements Management Using IBM Rational RequisitePro: Chapter 1, Requirements Management
Implementing ITIL Configuration Management: Chapter 3, Determining Scope, Span and Granularity
Agile Software Development: The Cooperative Game, 2nd Edition -- Chapter 3, Communicating, Cooperating Teams
Inherent Quality Simplicity, Section V: The Evolution
Managing the Test People, Chapter 6: Keeping Your Beast Effective
Mastering the Requirements Process, 2nd Edition: Chapter 2, The Requirements Process

Methodologies
Agile Software Development: The Cooperative Game, 2nd Edition -- Chapter 3, Communicating, Cooperating Teams
Inherent Quality Simplicity, Section V: The Evolution
Outside-in Software Development: A Practical Approach to Building Successful Stakeholder-based Products -- Chapter 1, Introducing Outside-in Development
Automated Defect Prevention: Best Practices in Software Management, Chapter 1 -- The Case for Automated Defect Prevention
The Economics of Open Source Software Development -- Chapter 1, An Introduction
Model-Driven Software Development: Technology, Engineering, Management -- Chapter 2, MDSD: Basic Ideas and Terminology
Implementing the IBM Rational Unified Process and Solutions: A Guide to Improving Your Software Development Capability and Maturity -- Chapter 2, Your First Steps
Scaling Software Agility: Best Practices for Large Enterprises -- Chapter 7, The Essence of Agile
Real-Life MDA -- Chapter 1, Introduction

Agile software development
How to deal with iteration issues in Agile
Flexibility and teamwork proven traits of Agile team maturity
How to stop developer vs. tester, quality-killing blame game
Using Agile, scaling back helps software projects in recession
How to improve software user acceptance testing practices
How testers can handle switching to Agile's short iterations
Testers debate differences between waterfall, Agile test automation
Tasktop brings task management into the application lifecycle
Test-driven testing face-off: Waterfall vs. Agile
Accelerating Agile testing with computer assistance

RELATED GLOSSARY TERMS
Terms from Whatis.com − the technology online dictionary
acceptance test  (SearchSoftwareQuality.com)
iteration  (SearchSoftwareQuality.com)
planning board  (SearchSoftwareQuality.com)
planning game  (SearchSoftwareQuality.com)
release  (SearchSoftwareQuality.com)
release plan  (SearchSoftwareQuality.com)
spike  (SearchSoftwareQuality.com)
stand-up  (SearchSoftwareQuality.com)
story  (SearchSoftwareQuality.com)
timebox  (SearchSoftwareQuality.com)

RELATED RESOURCES
2020software.com, trial software downloads for accounting software, ERP software, CRM software and business software systems
Search Bitpipe.com for the latest white papers and business webcasts
Whatis.com, the online computer dictionary


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 (TDD)

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

>> Read Chapter 1: What Is Clean Code?

>> Buy the book




This chapter is an excerpt from the book, "Clean Code: A Handbook of Agile Software Craftsmanship" by Robert C. Martin, published by Prentice Hall Professional, ISBN 0-13-235088-2, Copyright 2009 Pearson. Please visit www.informit.com or Safari Books Online subscribers: http://techbus.safaribooksonline.com/9780136083238"

Rate this Tip
To rate tips, you must be a member of SearchSoftwareQuality.com.
Register now to start rating these tips. Log in if you are already a member.




DISCLAIMER: Our Tips Exchange is a forum for you to share technical advice and expertise with your peers and to learn from other enterprise IT professionals. TechTarget provides the infrastructure to facilitate this sharing of information. However, we cannot guarantee the accuracy or validity of the material submitted. You agree that your use of the Ask The Expert services and your reliance on any questions, answers, information or other materials received through this Web site is at your own risk.



Software Design & Testing - Project Management
About Us  |  Contact Us  |  For Advertisers  |  For Business Partners  |  Site Index  |  RSS
SEARCH 
TechTarget provides technology professionals with the information they need to perform their jobs - from developing strategy, to making cost-effective purchase decisions and managing their organizations' technology projects - with its network of technology-specific websites, events and online magazines.

TechTarget Corporate Web Site  |  Media Kits  |  Site Map




All Rights Reserved, Copyright 2006 - 2009, TechTarget | Read our Privacy Policy
  TechTarget - The IT Media ROI Experts