DZone
Thanks for visiting DZone today,
Edit Profile
  • Manage Email Subscriptions
  • How to Post to DZone
  • Article Submission Guidelines
Sign Out View Profile
  • Post an Article
  • Manage My Drafts
Over 2 million developers have joined DZone.
Log In / Join
Please enter at least three characters to search
Refcards Trend Reports
Events Video Library
Refcards
Trend Reports

Events

View Events Video Library

Zones

Culture and Methodologies Agile Career Development Methodologies Team Management
Data Engineering AI/ML Big Data Data Databases IoT
Software Design and Architecture Cloud Architecture Containers Integration Microservices Performance Security
Coding Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks
Culture and Methodologies
Agile Career Development Methodologies Team Management
Data Engineering
AI/ML Big Data Data Databases IoT
Software Design and Architecture
Cloud Architecture Containers Integration Microservices Performance Security
Coding
Frameworks Java JavaScript Languages Tools
Testing, Deployment, and Maintenance
Deployment DevOps and CI/CD Maintenance Monitoring and Observability Testing, Tools, and Frameworks

Modernize your data layer. Learn how to design cloud-native database architectures to meet the evolving demands of AI and GenAI workkloads.

Secure your stack and shape the future! Help dev teams across the globe navigate their software supply chain security challenges.

Releasing software shouldn't be stressful or risky. Learn how to leverage progressive delivery techniques to ensure safer deployments.

Avoid machine learning mistakes and boost model performance! Discover key ML patterns, anti-patterns, data strategies, and more.

Trending

  • Doris: Unifying SQL Dialects for a Seamless Data Query Ecosystem
  • How the Go Runtime Preempts Goroutines for Efficient Concurrency
  • Overcoming React Development Hurdles: A Guide for Developers
  • Why We Still Struggle With Manual Test Execution in 2025

What Is Clean Code? – In Quotes

By 
Jakub Holý user avatar
Jakub Holý
·
Dec. 21, 12 · Interview
Likes (0)
Comment
Save
Tweet
Share
27.5K Views

Join the DZone community and get the full member experience.

Join For Free

what is actually good, clean code? why does it matter?

marry poppendieck has, in her excellent talk deliberate practice in software development ( slides ), quoted a couple of leading figures of our industry on what is clean code.

( emphasis is mine.)

bjarne stroustrup, inventor of c++:

i like my code to be elegant and efficient. the logic should be straightforward and make it hard for bugs to hide, the dependencies minimal to ease maintenance, error handling complete according to an articulated strategy , and performance close to optimal so as not to tempt people to make the code messy with unprincipled optimizations. clean code does one thing well.

grady booch, author of object-oriented analysis and design with applications:

clean code is simple and direct. clean code reads like well-written prose. clean code never obscures the designers’ intent but rather is full of crisp abstractions and straightforward lines of control.

“big” dave thomas, founder of oti and godfather of the eclipse strategy:

clean code can be read, and enhanced by a developer other than its original author . it has unit and acceptance tests. it has meaningful names. it provides one way rather than many ways for doing one thing. it has minimal dependencies, which are explicitly defined, and provides a clear and minimal api. code should be literate since, depending on the language, not all necessary information can be expressed clearly in code alone.

michael feathers, author of working effectively with legacy code:

i could list all of the qualities that i notice in clean code, but there is one overarching quality that leads to all of them. clean code always looks like it was written by someone who cares. there is nothing obvious that you can do to make it better . all of those things were thought about by the code’s author, and if you try to imagine improvements, you are led back to where you are, sitting in appreciation of the code someone left for you—code written by someone who cared deeply about the craft.

ward cunningham, inventor of wiki and fit, co-inventor of extreme programming. the force behind design patterns. smalltalk and oo thought leader. the godfather of all those who care about code.

you know you are working with clean code when each routine you read turns out to be pretty much what you expected . you can call it beautiful code when the code also makes it look like the language was made for the problem.

summary

clean code is

  • easily accessible to others (straightforward, clear intent, good abstractions, no surprises, good names) – this is absolutely the most mentioned point
  • is made for the real-world, i.e. has a clear error-handling strategy (my current project has been burnt a lot by the lack of this so my emphasis is little subjective :-) )
  • the author clearly cares for the software and other developers (which implies both readability and maintainability)
  • is minimal (does one thing, has minimal dependencies)
  • is good at what it does

Published at DZone with permission of Jakub Holý, DZone MVB. See the original article here.

Opinions expressed by DZone contributors are their own.

Partner Resources

×

Comments
Oops! Something Went Wrong

The likes didn't load as expected. Please refresh the page and try again.

ABOUT US

  • About DZone
  • Support and feedback
  • Community research
  • Sitemap

ADVERTISE

  • Advertise with DZone

CONTRIBUTE ON DZONE

  • Article Submission Guidelines
  • Become a Contributor
  • Core Program
  • Visit the Writers' Zone

LEGAL

  • Terms of Service
  • Privacy Policy

CONTACT US

  • 3343 Perimeter Hill Drive
  • Suite 100
  • Nashville, TN 37211
  • support@dzone.com

Let's be friends:

Likes
There are no likes...yet! 👀
Be the first to like this post!
It looks like you're not logged in.
Sign in to see who liked this post!