Lecture 6: Principles of Refactoring

This lecture explores the principles underlying the case study presented in Lecture 5. It goes into more depth on why, how and when we refactor code, introducing the concept of ‘code smells’. It also considers some of the limitations of refactoring and discusses situations in which we should not attempt to refactor software.