개발/리팩터링

파이브 라인스 오브 코드 - 리팩터링 깊게 들여다보기

DinoDev 2023. 6. 19. 19:12
728x90
반응형

리팩터링이란 코드가 하는 일을 변경하지 않고 더 나은 코드를 만드는 것 입니다.

 

코드 개선

더 나은 코드를 만들기 위해 코드를 개선해야 하는데 가독성과 유지보수성을 잘 챙겨야 좋은 코드라고 할 수 있습니다.

가독성

가독성은 의도를 전달하기 위한 코드의 성질로 가독성을 잘 챙긴 코드는 읽기 쉽고 작성자의 의도를 잘 파악하기가 쉽습니다.

유지보수성

유지보수성은 얼마나 많은 후보를 조사해야 하는지를 나타내는 성질입니다. 여기서 말하는 후보는 버그를 고치거나 기능을 추가하기 위해 어떤 코드가 어디에 있는지, 새로운 코드를 어디에 배치해야하는지에 대한 context를 말합니다.

유지보수성이 좋으면 조사해야 하는 context가 줄어들고 놓치는 부분이 없어서 또 다른 버그를 발생시키는 위험을 줄여줍니다.

일반적인 예로 전역상태(global state)를 사용하게 되면 광범위한 scope로 state가 살아있고 여러 곳에서 접근이 가능하기 때문에 예상하지 못하는 버그를 야기할 수 있습니다.

우리는 코드를 리팩터링 하기 위해서 기존에 하는 일을 바꾸지 않고 유지하면서 가독성과 유지보수성을 잘 챙겨야 합니다.

리팩터링은 개발자에게 아주 중요한 과제입니다. 코드를 리팩터링하지 않으면 기술부채가 쌓이는데 이런 기술 부채는 다음 개발자의 시간을 빼앗게 됩니다. 우리는 항상 레거시 시스템을 변경하기 전에 변경하기 쉬운 형태로 리팩터링을 해야하고, 코드를 변경한 후에도 더 좋은 코드가 없는지 고민하면서 리팩터링 해야 합니다.

 

 

 

728x90
반응형