‘분/시간 카운터’를 설계하고 구현하기
더스틴 보즈웰, 트레버 파우커
느낌표 ! (인상 깊은 문장 | 문맥)
이 예를 통해서 여러분이 ‘프로그래머가 일반적으로 수행하는 자연스러운 사고의 흐름’을 밟도록 안내할 것이다. 제일 먼저 문제를 해결하려고 시도하고, 이어서 성능을 개선하고, 추가적인 기능을 더하는 흐름 말이다.
p.224
Ch 15 에서는 ‘분/시간 카운터’ 를 만들 때 조금씩 개선하면서 확장성, 성능을 높이는 것을 보여준다. 챕터 전체가 코드라 이를 옮기기는 어렵다.
좋은 코드란 눈으로 읽어 내려갈 때 필요한 절차들을 읽고 이해할 수 있는 코드라고 생각한다. 중간에 생뚱 맞은 코드가 있으면 갸우뚱하게 되기 때문이다. 또한 그것이 오해를 불러일으키기도한다. 다시 말해 좋은 코드란 일반적으로 수행하는 자연스러운 사고의 흐름으로 작성되어있는 것이라고 생각한다.
코드는 많이 사용하지만 성능은 훨씬 뛰어나고, 설계도 더 유연하다. 또한 각각의 클래스는 훨씬 읽기 편하다. 이는 언제나 긍정적인 변화다. 읽기 쉬운 100줄의 코드는 읽기 어려운 50줄의 코드에 비해서 훨씬 낫다.
p.241
일반적인 함수에서는 코드의 분량이 적을 수록 좋기는 할 것이다. 그렇지만 복잡한 상황에서는 객체를 잘 분리해서 서로 연결할 때 코드 라인 수는 많을 수 있지만 좋은 코드라고 볼 수 있다. 객체로 분리했을 때 얻을 수 있는 장점 다형성, 은닉성, 추상화 등을 얻을 수 있기 때문이다. 객체지향적으로 바라볼 때 어려운 문제도 쉽게 풀 수 있을 것이다.
Chapter 15 느낌
Chapter 15 에서는 차근차근 코드를 변경해가며 성능, 가독성 등을 높여가는 테크닉을 보여주고 있다.