반응형

2022/12 2

코드 복잡도 줄이기 (Cyclomatic Complexity, NPath Complexity)

이번 포스팅도 어떤 백엔드 서비스의 코드를 리팩터링한 내용을 정리하는 것으로, 이번에는 코드 복잡도 줄인 리팩터링에 대한 내용을 정리한다. 이전에 포스팅했던 '가변 Context 클래스는 신중하게 사용하자'와 '고차 함수로 의존성 줄이기'로 코드의 의존성 문제들이 많이 정리된 상태라서 복잡도 줄이기를 진행할 수 있었다. 아래는 어떤 백엔드 서비스 코드의 리팩터링 전과 후의 코드 복잡도 Cyclomatic Complexity와 NPath Complexity의 수치 변화다. 많이 줄어든 것을 볼 수 있다. 실제로 작업했던 코드를 기반으로 소개할 수는 없으니, 일반화해서 조금은 억지스러운 예제로 만들어 내용을 정리한다. 전체 코드는 여기에 있다. 코드 복잡도 코드 복잡도를 수치로 계산하는 방법들이 많이 있겠지..

Dev 2022.12.25

시민의 교양

종이책과는 달리 전자책은 사놓고 까먹으면 눈에 띄지 않는다는 단점이 있었네. 구매한 지 4년 만에 읽었다. 책이 출간된 지 오래되어 책에서 보여주는 통계자료 등은 오래전 자료지만 책의 내용을 이해하는 데 문제가 되지는 않는다. '지적 대화를 위한 넓고 얕은 지식 1권'을 재밌게 읽었었는데, 이 책도 지루한 내용을 쉽고 재밌게 풀어서 설명하고 있다. 경제체제와 세금 등 겹치는 내용도 조금 있지만, 이 책의 설명이 조금 더 자세하다. 일반적으로 간접세는 조세에 대한 저항이 상대적으로 적다. 자신의 선택이 세금을 발생시켰다고 생각해서 강제성이 적고 평등해 보이기 때문이다. 하지만 개인의 소득을 고려했을 때는 간접세가 공평하다고 말하기 어렵다. ... 소득을 기준으로 할 때, 간접세는 저소득자의 실질적인 부담을..

Book Shelf 2022.12.03
반응형