※ 오늘의 명언
올바로 작동하지 않는다고 걱정하지 마라.
모든 게 잘 되었다면, 내가 할 일이 없어진다.
- Mosher’s Law of Software Engineering
서론
클린 코드가 필요한 개발자에게 필요한 기술은 리팩토링이다. 위의 이미지에 있는 교재로 스터디를 진행할 예정이며 지금처럼 여유있을 때마다 하나씩 정리할 예정이다.
개발에 대한 공부는 끝이없지만 이 리팩토링에 대한 개념을 정리하여 한줄을 적더라도 누구에게 보여줘도 이해하기 쉬운 소스를 짜보자.
우선 기술들을 익히기 앞서 리팩토링 기술들에 대해 리펙토링에 대해 먼저 알아보자
리팩토링이란? ( What is Refactoring ? )
위키백과에서 정의 된 내용부터 알아보자.
리팩토링(Refactoring)이란 "'결과의 변경 없이 코드의 구조를 재조장함'을 뜻한다. 주로 가독성을 높이고 유지보수를 편하게 하기 위해 사용되며, 버그를 없애거나 새로운 기능을 추가하는 행위는 아니다.
사용자가 보는 외부 화면은 그대로 두면서 내부 로직적인 부분의 구조를 변경하거나 개선하는 유지보수 행위를 뜻한다." 이렇게 위키백과에 적혀져있다.
아마 리팩토링에 대해 공부하실려고 들어오신분들은 대강 위 글만 봐도 이해 가실 것이라고 생각이 들지만 우린 더 깊게 알아보자.
위의 글을 간단히 정리해보면 리팩토링은 어떤 기능의 수정을 말하는 것이 아닌 해당 소프트웨어를 보다 쉽게 이해할 수 있도록 만드는 작업이라고 보면 될 것 같다.
이러한 리팩토링을 진행함으로써 우리가 얻는 효과는 무엇이 있을지 무엇이 있을까? 한번 알아보자.
리팩토링 효과 (Refactoring Effect) / 리펙토링을 해야 하는 이유
- 소프트웨어의 유지보수를 하는 과정이 간단해진다.
- 협업을 하면서 소스를 공유하는 과정에서 어려움이 줄어든다.
- 코드 중복을 제거하고, 수정 용이성을 높이므로 작업시간이 줄어든다.
- 직관성 있는 네이밍으로 분석이 쉽다.
위의 리펙토링의 효과로 4가지정도만 적었지만 상세하게 적으면 정말 이펙트들이 있다. 이 리팩토링은 개발자라면 패시브로 갖고있어야할 스킬이라 할 정도로 몸에 익혀놔야한다. 이 기술들을 잘 활용해서 우리 모두 친절한 개발자가 되어보자 :()
이 책에 적혀있는 필자 기준 중요 기술들을 차근차근 정리해보려고한다.
'Refactoring > Refactoring Skill' 카테고리의 다른 글
[Refactoring 기법 #05] 메서드 정리 - 알고리즘 전환 (0) | 2022.01.16 |
---|---|
[Refactoring 기법 #04] 메서드 정리 - 임시변수를 메서드 호출로 전환 (0) | 2022.01.11 |
[Refactoring 기법 #03] 메서드 정리 - 임시변수 내용 직접 삽입 (0) | 2022.01.09 |
[Refactoring 기법 #02] 메서드 정리 - 메서드 내용 직접 삽입 (0) | 2022.01.09 |
[Refactoring 기법 #01] 메서드 정리 - 메서드 추출 (0) | 2022.01.04 |
댓글