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: refactoring

No entries yet. Check back later!

Resources: refactoring

Design Patterns: Elements of Reusable Object-Oriented Software

( permalink )
bibliographical reference:
Gamma, A.; Helm, Rl; Johnson, R., Vlissides, J. (1994) Design Patterns: Elements of Reusable Object-Oriented Software. Addison-Wesley Professional. isbn: 978-0201633610.

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

( permalink )
bibliographical reference:
Fowler, M.; Beck, K.; Brant J.; Opdyke W.; Roberts D. (2012) Refactoring: Improving the Design of Existing Code. Addison-Wesley Professional. isbn: 978-0133065268.

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