리팩터링(2판) - 6장

유소정·2025년 9월 4일
1

리펙터링, 필요하네

우리 프로젝트에 더럽고 복잡해서 이해할 수 없는 코드가 점점 늘어나고 있다. 이유는 요구사항이 변경돼서, 버그를 수정해야 돼서, 애초에 완벽한 코드는 존재하지 않아서 다양하게 있었다. 좀 더 이해하기 쉽고 수정하기 쉬운 코드를 만들고 싶다. 리팩터링이 필요하다.

당신은 당신이 뭘 모르는지 모른다.
어떤 코드가 나쁜 코드일까?

전역데이터, SRP 위배, 긴 함수 등, 나쁜 코드의 종류는 여러 가지가 있다. 이를 리팩터링 2판을 읽으며 정리해보며 프로젝트에 적용하려 한다. 리팩터링 뿐만 아니라 구현 과정에서도 도움이 될 것 같다.

함수를 신문이라 생각하고 리팩터링 하자

함수는 신문이다. 함수와 신문은 읽는 방식이 비슷하다. 신문을 읽을 때 제목부터 본다. 제목을 쓱- 확인해보고 관심이 있으면 그 안에 내용을 본다.

만약 제목 없이 내용만 있다면 읽기 어려울 것이다. 내용을 전부 읽으며 '무슨 말을 하고 싶은지' 계속 파악해야 하기 때문이다. 하나의 내용에 여러 가지 핵심이 있으면 더욱 헷갈린다. 그래서 신문에는 하나의 제목당 하나의 핵심이 있다.

좋은 함수는 신문처럼 읽기 편해야 한다. 함수를 리팩터링할 때도 마찬가지다. 코드를 여러 덩어리로 나누고, 각 덩어리가 어떤 핵심을 담고 있는지 주석으로 적는다. 그런 뒤 그 덩어리를 별도의 함수로 추출하면 된다.

메모

  • 지역변수는 사용하는 곳과 최대한 가까운 곳에 위치하기
  • 기능구현 → 테스트 → 리팩터링
profile
기술을 위한 기술이 되지 않도록!

0개의 댓글