반응형 독서72 [리팩터링] 챕터03. 코드에서 나는 악취 😀 책에서 기억하고 싶은 내용을 써보세요. 3.1 기이한 이름 코드를 명료하게 표현하는 데 가장 중요한 요소 하나는 바로 ‘이름'이다. 그래서 함수, 모듈, 변수, 클래스 등은 그 이름만 보고도 각각이 무슨 일을 하고 어떻게 사용해야 하는지 명확히 알 수 있도록 엄청나게 신경 써서 이름을 지어야 한다. 마땅한 이름이 떠오르지 않는다면 설계에 더 근본적인 문제가 숨어 있을 가능성이 높다. 3.2 중복 코드 똑같은 코드 구조가 여러 곳에서 반복된다면 하나로 통합하여 더 나은 프로그램을 만들 수 있다. 코드가 중복되면 각각을 볼 때마다 서로 차이점은 없는지 주의 깊게 살펴봐야 하는 부담이 생긴다. 3.3 긴 함수 간접 호출의 효과, 즉 코드를 이해하고, 공유하고, 선택하기 쉬워진다는 장점은 함수를 짧게 구성할.. 2022. 5. 23. [리팩터링] 챕터02. 리팩터링 원칙 😀 책에서 기억하고 싶은 내용을 써보세요. 리팩터링 [명사] (79p) => 소프트웨어의 겉보기 동작은 그대로 유지한 채, 코드를 이해하고 수정하기 쉽도록 내부 구조를 변경하는 기법 리팩터링(하다) [동사] (79p) => 소프트웨어의 겉보기 동작은 그대로 유지한 채, 여러 가지 래팩터링 기법을 적용해서 소프트웨어를 재구성하다. 리팩터링은 결국 동작을 보존하는 작은 단계들을 거쳐 코드를 수정하고, 이러한 단계들을 순차적으로 연결하여 큰 변화를 만들어내는 일이다. (80p) 따라서 래픽터링하는 동안에는 코드가 항상 정상 작동하기 때문에 전체 작업이 끝나지 않았더라도 언제든 멈출 수 있다. 리팩터링은 성능 최적화와 비슷하다. (80p) 둘 다 코드를 변경하지만 프로그램의 전반적인 기능은 그대로 유지한다. 단.. 2022. 5. 23. [리팩터링] 챕터01. 리팩터링: 첫 번째 예시 😀 책에서 기억하고 싶은 내용을 써보세요. 리팩터링이란?(7p) 겉으로 드러나는 코드의 기능(겉보기 동작)은 바꾸지 않으면서 내부 구조를 개선하는 방식으로 소프트웨어 시스템을 수정하는 과정이다. 프로그램이 새로운 기능을 추가하기에 편한 구조가 아니라면, 먼저 기능을 추가하기 쉬운 형태로 리팩터링하고 나서 원하는 기능을 추가한다.(27p) 리팩터링하기 전에 제대로 된 테스트부터 마련한다. 테스트는 반드시 자가진단하도록 만든다.(28p) 조금씩 수정하여 피드백 주기를 짧게 가져가는 습관이 이러한 재앙을 피하는 길이다.(32p) 리팩터링은 프로그램 수정을 작은 단계로 나눠 진행한다. 그래서 중간에 실수하더라도 버그를 쉽게 찾을 수 있다.(32p) 하나의 리팩터링을 문제없이 끝낼 때마다 커밋한다. 그래야 중간에.. 2022. 5. 21. [노개북] 클린코드 37일차 - 노마드 코더 😀 책에서 기억하고 싶은 내용을 써보세요. 추이적 탐색을 피하라(395p) 일반적으로 한 모듈은 주변 모듈을 모를수록 좋다. => A가 B를 사용하고 B가 C를 사용한다 하더라도 A가 C를 알아야 할 필요는 없다는 뜻이다. 디미터의 법칙이라 부른다. 내가 아는 모듈이 연이어 자신이 아는 모듈을 따라가며 시스템 전체를 휘저을 필요가 없다는 의미다. 서술적인 이름을 사용하라(399p) 이름은 성급하게 정하지 않는다. 소프트웨어 가독성의 90%는 이름이 결정한다. => 시간을 들여 현명한 이름을 선택하고 유효한 상태로 유지한다. 신중하게 선택한 이름을 보고 독자는 모듈 내 다른 함수가 하는 일을 짐작한다. 적절한 추상화 수준에서 이름을 선택하라(401p) 구현을 드러내는 이름은 피하라. 작업 대상 클래스나 함.. 2022. 3. 2. 이전 1 ··· 3 4 5 6 7 8 9 ··· 18 다음