[TIL]2023-02-18

민석·2023년 2월 18일
0

TIL

목록 보기
79/87

Fact (사실)

  • 파이브 라인스 오브 코드 1장 읽기

Feeling (느낌)

파이브 라인스 오브 코드 1장 읽기

오늘은 이 책의 첫 시작인 1장을 읽었다
보통 책들과 비슷하게 첫 장에서는 책을 소개하는 내용들이 나와있는데 리팩터링이란 기능을 변경하지 않고 코드를 변경하는 것이라고 소개하고 리팩터링을 해야 하는 이유로 4가지가 적혀있는데

  • 코드를 더 빠르게 만들 수 있다.
  • 더 작은 코드를 만들 수 있다
  • 코드를 더 일반적이거나 재사용 가능하게 할 수 있다
  • 코드의 가독성을 높이고 유지 보수에 용이하다

전체적으로 공감하는 내용이고 널리 알려진 내용들이라 이 책에선 어떤 방식으로 이 내용들을 다룰지가 기대됐다

리팩터링을 해야 하는 시기로는 가능한 일상 업무에 통합하는 것이 좋다고 적혀있는데 평소에 리팩터링 된 코드를 작성하도록 노력하라는 의미인가?라는 생각을 했는데 뒤에 내용을 보니 맞는 거 같다 이 책에서 개발 작업 절차를 6단계로 권장하는데

  1. 탐색 : 어떤 것을 개발하는지 파악하는 단계
  2. 명세화 : 무엇을 만들지 알게 되면 그것을 명세화하는 단계
  3. 구현 : 명세를 통해 구현하는 단계
  4. 테스트 : 구현한 것을 명세에서 요구하는 것과 동일하게 작동하는지 확인하는 단계
  5. 리팩터링 : 다른 사람들이 이 코드를 작업할 때 쉽게 할 수 있는지 확인하며 개선하는 단계
  6. 전달 : 완성된 코드를 배포하고 적용하는 단계

일반적으로 어떠한 기능을 구현한다고 하면 이런 단계로 구현하는 편인 거 같아 이 흐름에 적응하는 것이 어렵게 느껴지진 않았다.

마지막으로 리팩터링을 하지 말아야 할 때로는

  • 한번 사용하고 삭제할 코드
  • 폐기되기 전 코드
  • 성능 요구사항이 있는 코드

1,2번 이유는 당연한 이유라 생각했고 3번째 이유는 앞에 말한 거처럼 리팩터링 목적은 가독성을 높이는 것이기 때문에 성능은 후순위로 밀려나 성능은 잘 고려하지 않는데 성능이 중요한 임베디드 시스템, 게임엔진 같은 경우에는 리팩터링을 하면 안 된다. 의미로 적혀있다는 생각을 했다.

Finding (교훈)

전체적으로 이 장은 본격적인 리팩터링에 대해 알려주기 전에 준비하는 장이라 어렵게 다가오진 않았고 후에 내용들이 기대된다.

profile
안녕하세요 프론트엔드 개발자 양민석입니다.

0개의 댓글