728x90
✨ 이 글은 [ 코드프레소 Java 웹 개발 체험단 활동 ] 내용입니다 ✨
💜 코드프레소 이러닝 강의 수강 중 - SW 유지보수성 향상을 위한 Clean Code 💜
😎 아래의 링크를 통해 프리미엄 IT 교육 서비스, 코드프레소를 확인해보세요 😎
Refactoring
- SW 품질 향상을 목적으로 기능의 변경 없이, 내부 코드를 변경하는 기술이다
- 2000년에 Martin Fowler가 소개하였다
- Refactoring : Improving the Design of Existring Code에서 소개되었다
Refactoring 철학
티끌 모아 태산
- 기존 기능에 변경을 가하지 않는 수준의 아주 작은 코드 개선 작업이다
- 하나 하나의 Refactoring은 너무 작아서 큰 의미가 없다
- 그러나 작은 개선이 쌓이면 의미있는 품질 향상이 가능해진다
Refactorig은 매일 개발의 일부로 진행하는 것
Refactoring isn't another word for cleaning up code
- Martin Fowler
- Refactoring은 특별한 활동이 아니어서 이를 위해 따로 시간을 내서 수행하는 활동이 아니다!
- 기능 추가/변경을 위해 코드를 수정하다가 개선이 필요한 코드를 발견하면 개선하는 것이다
- 보이스카우트 법칙과 일맥상통한다
Refactoring Process
- 이는 기능 수정이 아닌 코드 개선이기 때문에 단위 테스트를 통해 기능의 변화가 없으며 제대로 동작하는지 확인할 필요가 있다
Code Bad Smell
- 품질을 저해할 수 있는 가능성을 가진 코드가 보내는 경고 싸인이다
- Code Bad Smell은 결함이나 에러는 아니다
- 지속적인 코드 개선을 위해서는 Bad Smell을 맡을 수 있어야 한다!
- Martin Fowler가 Refactoring 도서에서 22개의 Code Bad Smell의 종류를 정리하였다
- 이게 다는 아니지만 이를 참고하면 좋다!
Code Bad Smell - Examples
Refactoring 카탈로그
- Code Bad Smell에 대한 다양한 개선 전략들의 모임으로, Category 별로 정리되어 있다
- Refactoring은 아주 작은 개선 활동이다
- 너무 당연하다고 판단될 만한 전략들도 다수 존재한다
Refactoring 카탈로그 - Examples
Refactoring Examples - Primitive Obsession
Summary : Code Refactoring
- Refactoring은 매일 지속적으로 수행하는 작은 코드 개선 작업
- 티끌 모아 태산 : 아무리 작은 개선이라도 이들이 모이면 추후에 큰 품질 개선이 가능하다
- 개선해야 할 코드의 Bad Smell을 맡는 민감한 코를 갖도록 훈련해야 한다
- 정리된 Code Bad Smell과 Refactoring Catalog를 참고하는 것은 좋은 습관이다!
728x90
'코드프레소 체험단 > Clean Code' 카테고리의 다른 글
[SW 유지보수성 향상을 위한 Clean Code] Clean Control Structure (0) | 2022.01.24 |
---|---|
[SW 유지보수성 향상을 위한 Clean Code] Clean Formatting (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] Clean Comment (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] Clean Method (0) | 2022.01.24 |
[SW 유지보수성 향상을 위한 Clean Code] Clean Naming (2) (0) | 2022.01.24 |
댓글