OnceAndOnlyOnce 법칙의 코드수정. ExtremeProgramming에서 추구하는 방법의 하나. 혹자는 모든 Refactoring의 결과가 DesignPatterns로 나타난다고도 이야기했다.

정의 (from RefactoringImprovingTheDesignOfExistingCode)

  • 명사형 : 소프트웨어를 보다 쉽게 이해할 수 있고, 적은 비용으로 수정할 수 있도록 겉으로 보이는 동작의 변화없이 내부구조를 변경하는것.
  • 동사형 : 일련의 리팩토링을 적용하여, 겉으로 보이는 동작의 변화없이 소프트웨어의 구조를 바꾼다.

수학에서의 인수분해(Factor)를 생각하면 이해하기 쉽다.

$$ x^{2} + x - 2 = (x+2)(x-1) $$

나쁜 CodeSmell이 나는 코드는 리팩토링되어야한다. 왜냐,

  • Duplication : for DontRepeatYourself

  • Nonorthogonal design : more Orthogonality

  • Outdated knowledge : code needs to keep up
  • Performance : improve performance


WikiWiki글쓰기에서의 Refactoring


SeeAlso HowToStudyForProgrammer, ReFactoring

Refactoring (last edited 2011-08-18 13:39:16 by 211)

web biohackers.net