777p~
참석자 : 김승제, 이용준
기간 : 21-07-31~21-08-09
리뷰 : 21-08-09
메모
779p. 구현중에 변경하는 것은 일반적으로 원래의 개발자가 수행하고, 보통 프로그램이 완전히 잊혀지기 전에 수행된다. 시스템이 아직 외부에 공개되지 않았기 때문에, 변경 사항을 끝내야 한다는 압박도 일정상의 압박일 뿐이지 시스템이 다운된 이유를 궁금해 하는 500명의 사용자가 아니다. 같은 이유로 구현중의 변경사항은 자유로울 수 있다.
787p. 전문가들은 미래의 요구 사항을 준비하는 가장 바람직한 방법은 이론적인 코드를 작성하지 않는 것이라고 말한다. 현재 필요한 코드를 분명하고 직관적으로 작성하여, 미래의 프로그래머가 그 코드가 무엇을 하고 무엇을 하지 않는지 대해서 알 수 있도록 하고 그에 따라 변경할 수 있도록 하는 것이다.
790p 데이터 수준 리펙토링 - 컬렉션을 캡슐화 한다 : 만약 클래스가 컬렉션을 리턴할 때, 고정되지 않는 여러 개의 컬렉션을 갖고 있다면 동기화 처리를 어렵게 할 수 있다. 클래스가 읽기만 가능한 컬렉션을 리턴하도록 하고, 컬렉션에 요소를 추가/제거하기 위한 루틴을 제공하도록 한다.
791p 명령문 수준 리펙토링 - 조건문을 다형성으로 대체 한다.
792p 루틴 수준 리팩토링 - 다운캐스팅을 캡슐화 한다 : 만약 루틴이 객체를 리턴하고 있다면, 일반적으로 루틴이 알고 있는 가장 구체적인 객체의 타입을 리턴해야 한다. 이러한 리팩토링은 특히 반복자(iterator), 컬랙션(collection), 컬렉션의 요소 등을 리턴하는 루틴에도 적용이 가능하다.
799p 안전한 리팩토링 - 주차장을 만든다 : 여러분이 리팩토링을 수행하고 있을 때, 때로는 다른 리팩토링을 해야 할 필요가 있을 것이다. 또한 새로운 리팩토링을 수행하고 있을 때, 또 다른 리팩토링이 도움이 된다는 것을 발견하게 될 것이다. 지금 당장 필요하지 않는 변경을 위해서 "주차장"을 만들어 놓는다. 즉, 지금 당장은 변경해야 할 필요가 없지만 어느 시점에서 변경해야 하는 변경사항에 대한 목록을 만들어둔다.
799p 안전한 리팩토링 - 빈번하게 체크 포인트를 설정한다 : 리팩토링을 하다보면 코드가 갑자기 엉뚱한 방향으로 가기 쉽다. 여러분이 시작한 코드를 저장하는 것뿐만 아니라, 리팩토링을 하면서 여러 곳에 체크 포인트를 저장하여 막다른 골목에 갔을 때, 작동하는 프로그램으로 돌아올 수 있도록 한다.
800p 안전한 리팩토링 - 컴파일러의 경고를 활용한다 : 컴파일러의 경고 수준을 가장 까다롭게 설정하면 많은 오류들을 즉시 잡는 데 도움이 될 것이다.
800p 안전한 리팩토링 - 변경 사항을 검토한다 : 작은 변경이 큰 변경보다 오류를 발생시킬 가능성이 더 높은 경향이 있다.
'Books > Reviews' 카테고리의 다른 글
[책/네트워크] 후니의 쉽게 쓴 시스코 네트워킹 3rd vol1,2 (0) | 2022.02.25 |
---|---|
[책/네트워크]윤성우 tcp/ip 소켓 (0) | 2022.02.19 |
코드컴플릿2_Chapter1 소프트웨어 구현으로의 초대 , Chapter2 소프트웨어 개발의 이해를 돕기 위한 비유 (0) | 2021.08.13 |
코드컴플릿2_Chapter 25 코드 최적화 전략, Chapter26 코드 최적화 기법 (0) | 2021.08.10 |
코드컴플릿2_Chapter 21 협력적인 구현 (0) | 2021.08.09 |