반응형
코드를 개선하는 방법
- 가독성을 높이자!
- 가독성 : 의도를 전달하기 위한 코드의 성질
- 가독성을 높이기 위해서는 코딩 컨벤션을 지정하고 따르기, 네이밍 잘 짓기, 공백 사용 등이 있다.
- 유지보수성을 좋게하자!
- 유지보수성 : 얼마나 많은 후보를 조사해야 하는지를 나타내는 표현
- 변경포인트가 많으면 기능을 추가했을 때 변경해야 할 부분이 많아져서 버그가 발생하기 쉽다.
- 조사 단계에 시간이 오래 걸린다는 것은 코드 유지보수성이 나쁘다는 징후이며 개선이 필요하다.
리팩토링 시 성능이 떨어지면요?
리팩토링을 진행하다보면 성능이 떨어지는 상황이 있을 수 있다.
가령, 하나의 for 문 안에서 수행하던 작업들을 리팩토링으로 메서드를 분리했더니 for 문이 2개가 생겼다든지..
하지만 리팩토링 중에는 코드가 느려지는 것에 신경을 쓰지 않는다.
- 대부분의 시스템에서 성능은 가독성과 유지보수성보다 가치가 떨어진다.
- 성능이 중요한 경우 프로파일링 도구나 성능 전문가의 지도를 받아 리팩토링과 다른 단계에서 처리해야 한다.
범위가 제한되지 않은 불변속성을 도입하는 방법
상속과 컴포지션 방식이 있다.
- 상속보다는 컴포지션 방식을 사용하자.
- 어떤 기능이 추가되었을 때 상속을 사용하면, 사용하는 모든곳에 재정의를 해주어야 한다. (새로운 기능을 사용하지 않는 곳에서도..)
- 컴포지션 방식을 사용하면, 해당 기능이 필요한 곳에서만 재정의하면 된다.
컴포지션 방식의 장점
- 기존 기능에 영향을 주지 않고 기능을 추가하거나 변경할 수 있음 (OCP)
반응형
'개발 도서' 카테고리의 다른 글
Five Lines of Code - 4장. 타입 코드 처리하기 (0) | 2023.09.22 |
---|---|
Five Lines of Code - 3장. 긴 코드 조각내기 (0) | 2023.08.27 |
Five Lines of Code - 1장. 리팩터링 리팩터링하기 (0) | 2023.08.19 |
[이펙티브 자바] 아이템 2 - 생성자에 매개변수가 많다면 빌더를 고려하라 (0) | 2023.03.14 |
[이펙티브 자바] 아이템 1 - 생성자 대신 정적 팩터리 메서드를 고려하라 (0) | 2023.03.14 |
댓글