본문 바로가기

반복문 쪼개기2

리팩토링 2판 - Chapter 8 (기능이동) Chapter 8: 기능이동 지금까지는 프로그램 요소를 생성 혹은 제거하거나 이름을 변경하는 리팩터링을 다뤘다. 여기에 더해 요소를 다른 컨텍스트(클래스나 모듈 등)로 옮기는 일 역시 리팩터링의 중요한 축이다. p.277 적절한 위치에 기능이 있는 것도 가독성을 증가시키고 이해를 잘 할 수 있도록 도와준다는 내용입니다. 좋은 소프트웨어 설계의 핵심은 모듈화가 얼마나 잘 되어 있느냐를 뜻하는 모듈성(modularity)이다. 모듈성이란 프로그램의 어딘가를 수정하려 할 때 해당 기능과 깊이 관련된 작은 부분만 이해해도 가능하게 해주는 능력이다. p.278 모듈성이 중요하다는 것은 알고 있었지만 개발하면서 해당 부분에 대한 이해도가 높아지면 적극적으로 모듈성을 개선할 수 있다는 생각은 잘 하지 못하고 있었습니.. 2022. 10. 20.
리팩토링 2판 - Chapter 3 (코드에서 나는 악취) 저자는 프로그래밍 미학이라는 모호한 개념보다 악취라는 표현이 낫다고 표현함. 악취가 나는 코드도 패턴이 있음 기이한 이름 이름만 보고도 각각이 무슨 일을 하고 어떻게 사용해야하는지 명확히 알 수 있도록 엄청나게 신경 써서 이름을 지어야 한다. 네이밍이 프로그래밍 활동의 많은 부분을 차지하는 것을 알고 있었지만, 경험이 많은 개발자들도 동일한 어려움을 겪는다는 사실에 조금 위로가 되기도 함... 마땅한 이름이 떠오르지 않는다면 설계에 더 근본적인 문제가 숨어 있을 가능성이 높다. 이 문장은 새로웠음! 아무리 노력해도 적당한 이름이 나오지 않는다면 설계가 잘못되지 않았나 돌아보는 것도 좋은 방법. 적절한 관심사 분리를 해야 좋은 이름도 지을 수 있을 것 같다. 중복 코드 긴 함수 우리는 주석을 달아야 할 만.. 2022. 10. 20.