arnvald / awesome-refactoring

collection of refactoring-related resources

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Awesome refactoring

This repository is a curated list of refactoring-related resources. Maintained by Gregory Witek as part of my work on Refactoring Python Code

Definition

There are a few definitions of refactoring (in practice very similar). The most popular is a 2-part definition by Martin Fowler:

Refactoring (noun): a change made to the internal structure of software to make it easier to understand and cheaper to modify without changing its observable behavior.

Refactoring (verb): to restructure software by applying a series of refactorings without changing its observable behavior.

Books

Websites

  • Refactoring.com - part of Martin Fowler's website, contains a catalog of 60+ techniques; free version provides simple examples, paid version contains description, mechanics and more. Most of tecnhiques are available in the "Refactoring" book.
  • Refactoring Guru - contains 60+ techniques, each with description, implementation and a simple example + around 20 code smells with description and suggested refactorings that help to get rid of it

Articles

Others

About

collection of refactoring-related resources