> For the complete documentation index, see [llms.txt](https://petozoltan.gitbook.io/simplecode/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://petozoltan.gitbook.io/simplecode/clean-code/clean-code-links.md).

# Clean Code Links

It is impossible to list the ever growing number of books, articles, blog posts and videos about clean code you can find on the internet. Here you find some basic documents to the topic, which are worth to read or use as a reference.

### Books

* [Clean Code: A Handbook of Agile Software Craftsmanship (Robert C. Martin, 1994)](https://www.amazon.com/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882)
* [Design Patterns: Elements of Reusable Object-Oriented Software ("Gang of Four", 1994)](https://www.amazon.com/Design-Patterns-Elements-Reusable-Object-Oriented/dp/0201633612/)
* [Refactoring: Improving the Design of Existing Code (Martin Fowler, Kent Beck, ..., 1999)](https://www.amazon.com/Refactoring-Improving-Design-Existing-Code/dp/0201485672/)
* [Effective Java (2nd Edition, Joshua Bloch, 2008)](https://www.amazon.com/Effective-Java-2nd-Joshua-Bloch/dp/0321356683)
* [The Clean Coder: A Code of Conduct for Professional Programmers (Robert C. Martin, 2011)](https://www.amazon.com/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073)
* [Code Complete: A Practical Handbook of Software Construction (Steve McConnell, 2nd, 2004](https://www.amazon.com/Code-Complete-Practical-Handbook-Construction/dp/0735619670)

### PDF

* [Java Code Conventions (Sun, 1997)](http://www.oracle.com/technetwork/java/codeconventions-150003.pdf)
* [Clean Code Cheat Sheet v2.4](http://www.planetgeek.ch/wp-content/uploads/2014/11/Clean-Code-V2.4.pdf)
* [Uncle Bob: Principles Of OOD (SOLID)](http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod)

### Java

* [How to Write Doc Comments for the Javadoc Tool](http://www.oracle.com/technetwork/java/javase/documentation/index-137868.html)

### Images

* [The only valid measurement of code quality](http://www.osnews.com/story/19266/WTFs_m)
* [Unit Test Goals & Smells](http://xunitpatterns.com/Goals-Smells.gif)

### Slideshows

* [Clean Code](http://www.slideshare.net/arturoherrero/clean-code-8036914)
* [Clean Code and Code Smells](http://www.slideshare.net/mariosangiorgio/clean-code-and-code-smells)

...and more on the above site.

### Wikipedia

* [Dependency Injection](https://en.wikipedia.org/wiki/Dependency_injection)
* [Design Patterns (GoF)](https://en.wikipedia.org/wiki/Design_Patterns)
* [Software Design Pattern](https://en.wikipedia.org/wiki/Software_design_pattern)
* [Composition over inheritance](https://en.wikipedia.org/wiki/Composition_over_inheritance)
* [Cyclomatic complexity](https://en.wikipedia.org/wiki/Cyclomatic_complexity)

### Articles

* [There Are Only 2 Roles of Code](https://dzone.com/articles/there-are-only-2-roles-code)
* [Uncle Bob: Principles Of OOD (SOLID)](http://butunclebob.com/ArticleS.UncleBob.PrinciplesOfOod)
* [Essential XP: Emergent Design](http://ronjeffries.com/xprog/classics/expemergentdesign/)
* [Martin Fowler Articles](http://martinfowler.com/articles.html)
* [Martin Fowler Refactoring Catalog](http://refactoring.com/catalog/)

### Blogs

* [Yegor Bugayenko](http://www.yegor256.com/)
* [Jean Rene](https://jeanrenesite.wordpress.com/)
* [8th Light - Blog of Robert C. Martin and others](https://8thlight.com/cleancode/uncle-bob/)

### Videos

* [Clean Code Episode 1](https://cleancoders.com/video-details/clean-code-episode-1)
* [Uncle Bob videos](https://cleancoders.com/videos)
* [More Uncle Bob videos](https://www.youtube.com/results?search_query=uncle+bob)
