refactoring

description:

The process of rewriting software, without changing the way it functions, in order to improve its readability, testability or maintainability.

Information:

Below is an overview of content that matches the tag "refactoring".

Note that this list is not exhaustive, as it is automatically aggregated based on manually assigned categorizations.
If you notice a missing element, or think some of the items are wrongfully categorized, please create a bug/improvement ticket on our github issue tracker.

An overview of all tags used in this publication can be found in our tag list: go to overview

Patterns tagged with "refactoring"

description:Code that is easy to understand, maintain, and extend. Clean code minimizes complexity and avoids unnecessary clutter.

Books tagged with "refactoring"

Design Patterns

Elements of Reusable Object-Oriented Software

cover image for 'Design Patterns'
bibliographical reference:
Gamma, A.; Helm, Rl; Johnson, R., Vlissides, J. (1994) Design Patterns. Addison-Wesley Professional. isbn: 978-0201633610.
description:

Known as the ‘Gang of Four,’ the authors of this book have contributed significantly to the field of software development. Their work serves as a foundational text in the discipline.

In the book, they present a collection of programming structures in the form of design patterns. These patterns explain when and how to apply them, as well as their potential drawbacks. While some of the advice in the book, particularly those related to inheritance, may be considered outdated in contemporary software development, the core concepts remain relevant.

The ‘Gang of Four’ patterns provide valuable insights into addressing challenges like extensibility, maintainability, and encapsulation. They offer tried and tested approaches to structuring software, making it a valuable resource for any programmer or software engineer.

complexity categories: intermediate reference

Refactoring

Improving the Design of Existing Code

cover image for 'Refactoring'
bibliographical reference:
Fowler, M.; Beck, K.; Brant J.; Opdyke W.; Roberts D. (2012) Refactoring. Addison-Wesley Professional. isbn: 978-0133065268.
description:

The authors provide invaluable insights into achieving well-structured code safely, even in the context of modern Integrated Development Environments (IDEs). While the book’s examples use Java, the underlying concepts are language-agnostic. Whether you work with a programming language or a scripting language, the principles and techniques discussed here are universally applicable.

For those with an particularly strong aversion to Java, a recent edition of the book showcases the same techniques using TypeScript. Whichever edition you choose, “Refactoring” offers timeless wisdom for enhancing your code quality.

complexity categories: novice mixed reference

Clean Code

A Handbook of Agile Software Craftsmanship

cover image for 'Clean Code'
bibliographical reference:
Martin, R. C. (2008) Clean Code. Pearson. isbn: 978-0132350884.
description:

In the world of software development, writing code is only half the battle. The real challenge lies in writing clean, efficient, and maintainable code. In “Clean Code: A Handbook of Agile Software Craftsmanship,” Robert C. Martin, also known as “Uncle Bob”, provides invaluable insights into the art and science of writing clean code.

Martin emphasizes the importance of readability, simplicity, and attention to detail, guiding readers through the process of writing code that is easy to understand, test, and maintain. Whether you’re a beginner looking to build strong coding habits or an experienced programmer aiming to refine your skills, this book provides the tools and techniques necessary to elevate your craft.

Through a series of practical examples and best practices, “Clean Code” equips readers with the knowledge and skills to write elegant, maintainable code. The biggest takeaway from this book is the importance of writing code that is not only functional but also a joy to read and work with. While the book offers a wealth of valuable advice, it’s important to use “Clean Code” as an inspiration rather than a set of strict rules. Some practices may be considered outdated in contemporary software development, but the core principles and concepts remain relevant and essential for any programmer or software engineer.

complexity categories: novice reference

Other Resources tagged with "refactoring"

site

Open Rewrite

description:

An open-source platform for automated code refactoring. It provides a set of recipes to automatically refactor your codebase, making it easier to maintain and improve the quality of your code. The ability to make large-scale changes across your codebase are a great way to make sure your code is up to date with all the latest dependency updates. The company behind Open Rewrite also offers a paid version with additional features.

by: Moderne, Inc.