Skip to content

Instantly share code, notes, and snippets.

@wojteklu
Last active August 8, 2026 13:07
Show Gist options
  • Select an option

  • Save wojteklu/73c6914cc446146b8b533c0988cf8d29 to your computer and use it in GitHub Desktop.

Select an option

Save wojteklu/73c6914cc446146b8b533c0988cf8d29 to your computer and use it in GitHub Desktop.
Summary of 'Clean code' by Robert C. Martin

Code is clean if it can be understood easily – by everyone on the team. Clean code can be read and enhanced by a developer other than its original author. With understandability comes readability, changeability, extensibility and maintainability.


General rules

  1. Follow standard conventions.
  2. Keep it simple stupid. Simpler is always better. Reduce complexity as much as possible.
  3. Boy scout rule. Leave the campground cleaner than you found it.
  4. Always find root cause. Always look for the root cause of a problem.

Design rules

  1. Keep configurable data at high levels.
  2. Prefer polymorphism to if/else or switch/case.
  3. Separate multi-threading code.
  4. Prevent over-configurability.
  5. Use dependency injection.
  6. Follow Law of Demeter. A class should know only its direct dependencies.

Understandability tips

  1. Be consistent. If you do something a certain way, do all similar things in the same way.
  2. Use explanatory variables.
  3. Encapsulate boundary conditions. Boundary conditions are hard to keep track of. Put the processing for them in one place.
  4. Prefer dedicated value objects to primitive type.
  5. Avoid logical dependency. Don't write methods which works correctly depending on something else in the same class.
  6. Avoid negative conditionals.

Names rules

  1. Choose descriptive and unambiguous names.
  2. Make meaningful distinction.
  3. Use pronounceable names.
  4. Use searchable names.
  5. Replace magic numbers with named constants.
  6. Avoid encodings. Don't append prefixes or type information.

Functions rules

  1. Small.
  2. Do one thing.
  3. Use descriptive names.
  4. Prefer fewer arguments.
  5. Have no side effects.
  6. Don't use flag arguments. Split method into several independent methods that can be called from the client without the flag.

Comments rules

  1. Always try to explain yourself in code.
  2. Don't be redundant.
  3. Don't add obvious noise.
  4. Don't use closing brace comments.
  5. Don't comment out code. Just remove.
  6. Use as explanation of intent.
  7. Use as clarification of code.
  8. Use as warning of consequences.

Source code structure

  1. Separate concepts vertically.
  2. Related code should appear vertically dense.
  3. Declare variables close to their usage.
  4. Dependent functions should be close.
  5. Similar functions should be close.
  6. Place functions in the downward direction.
  7. Keep lines short.
  8. Don't use horizontal alignment.
  9. Use white space to associate related things and disassociate weakly related.
  10. Don't break indentation.

Objects and data structures

  1. Hide internal structure.
  2. Prefer data structures.
  3. Avoid hybrids structures (half object and half data).
  4. Should be small.
  5. Do one thing.
  6. Small number of instance variables.
  7. Base class should know nothing about their derivatives.
  8. Better to have many functions than to pass some code into a function to select a behavior.
  9. Prefer non-static methods to static methods.

Tests

  1. One assert per test.
  2. Readable.
  3. Fast.
  4. Independent.
  5. Repeatable.

Code smells

  1. Rigidity. The software is difficult to change. A small change causes a cascade of subsequent changes.
  2. Fragility. The software breaks in many places due to a single change.
  3. Immobility. You cannot reuse parts of the code in other projects because of involved risks and high effort.
  4. Needless Complexity.
  5. Needless Repetition.
  6. Opacity. The code is hard to understand.
@organicgroupshiv-wq

Copy link
Copy Markdown

MCT Oil Manufacturer in India

Shiv Sales Corporation is a leading MCT Oil Manufacturer in India, offering 100% pure, high-quality, and premium-grade MCT Oil for nutraceutical, food, pharmaceutical, and cosmetic industries. We supply bulk quantities to brands, wholesalers, exporters, and manufacturers across India and international markets.

With advanced processing technology, strict quality control, and competitive pricing, we ensure consistent purity, safety, and reliability in every batch. Our strong distribution network enables timely delivery and seamless bulk supply solutions worldwide.

As a trusted supplier and exporter, Shiv Sales Corporation is committed to providing premium-quality MCT Oil that meets international standards and supports the growing demands of global health and wellness

@shreyachauhanas-byte

Copy link
Copy Markdown

Great insights here. Managing complex legal assignments while balancing classes, internships, and part-time work can be overwhelming for students. Our Commercial Law Assignment Help service is designed to provide expert academic support, well-researched solutions, and the professional guidance needed to maintain strong grades with confidence.

@Edldev12

Copy link
Copy Markdown

Can i download this book for Free ?

@VikashZen98

Copy link
Copy Markdown

This was a really helpful post! I liked how you explained everything in a simple and practical way. Many students struggle with managing deadlines and producing quality work, so having reliable guidance on assignment writing can make a big difference. Thanks for sharing these useful tips I’m looking forward to reading more of your content!

@VikashZen98

Copy link
Copy Markdown

Great article! I appreciate the time and effort you put into explaining this topic so clearly. Students often face tight deadlines and multiple responsibilities, so finding trustworthy Academic Writing Services can be a valuable option when they need extra support. Thanks for sharing such informative content - I’ll definitely be checking back for more helpful posts.

@VikashZen98

Copy link
Copy Markdown

Thanks for sharing this informative post! I found the tips and insights very useful, especially for students trying to balance coursework and deadlines. Finding reliable Cheap Assignment Help without compromising on quality can be challenging, so content like this is truly valuable.

@sarahxjames1-svg

Copy link
Copy Markdown

Absolutely! Clean code is the foundation of scalable and efficient development. When code is easy to understand, teams can collaborate better, reduce errors, and adapt to changes more quickly. The same principle applies to a successful SEO agency—clear processes and well-structured strategies lead to better long-term results.

@VikashZen98

Copy link
Copy Markdown

This was a really informative article. Java can be challenging, especially when dealing with object-oriented programming and advanced concepts. Students looking for Java Assignment Help can definitely benefit from resources like this to improve both their understanding and academic performance.
https://www.indiaassignmenthelp.com/javascript-assignment-help-india

@VikashZen98

Copy link
Copy Markdown

This is a very informative and well-written article. Linguistics can be a challenging subject because it involves understanding language structure, phonetics, syntax, and semantics. Students searching for Online Linguistics Assignment Help can benefit from reliable academic guidance that not only helps with assignments but also improves their overall understanding of the subject. Thanks for sharing such valuable insights!
https://www.indiaassignmenthelp.com/linguistics-assignment-help-india

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment