본문 바로가기

Study14

리팩터링 챕터 9 9장 - 데이터 조직화 9.1 변수 쪼개기 배경 변수에 대입이 여러번 이뤄진다면 여러가지 역할을 수행한다는 신호이므로 역할 하나당 하나의 변수로 쪼개야 한다. 절차 변수를 선언한 곳과 값을 처음 대입하는 곳에서 변수 이름을 바꾼다. 이후의 대입이 항상 i = i + 형태라면 수집 변수이므로 쪼개서는 안된다. 가능하면 불변으로 선언한다. 이 변수에 두 번쨰로 값을 대입하는 곳 앞까지의 모든 참조(이 변수가 쓰인 곳)를 새로운 변수 이름으로 바꾼다. 두 번쨰 대입 시 변수를 원해 이름으로 다시 선언한다. 테스트한다. 반복한다. 매 반복에서 변수를 새로운 이름으로 선언하고 다음번 대입 때까지의 모든 참조를 새 변수명으로 바꾼다. 이 과정을 마지막 대입까지 반복한다. 예시 9.2 필드 이름 바꾸기 배경 데이터 .. 2023. 8. 27.
리팩토링 챕터 8 8장 기능 이동 8.1 함수 옮기기 배경 좋은 소프트웨어 설계의 핵심은 모듈성이다 모듈성이 높으면 프로그램의 어느 부분을 수정하려 할 때 관련된 작은 일부만을 이해해도 가능하게 해주는 능력이다. 연관된 요소들을 함께 묶고, 요소 사이의 연결 관계를 쉽게 찾고 이해할 수 있도록 해야 한다. 모든 함수는 컨텍스트안에 존재한다. 객체 지향 프로그래밍에서 핵심 모듈화 컨텍스트는 클래스다. 어떤 함수가 자신이 속한 모듈의 요소보다 다른 모듈의 요소들을 더 많이 참조한다면 옮겨주는것이 마땅하다. 함수 중 독립적으로도 고유한 가치가 있거나 다른 클래스로 옮겨두면 사용하기 더 편한 메소드도 옮기는게 낫다. 함수를 옮길지 말기 고민된다면 대상 함수의 현재 컨텍스트와 후보 컨텍스트를 둘러보자 대상 함수를 호출하는 함수 대.. 2023. 7. 25.
리팩터링 챕터7 https://www.notion.so/7-2fdcf5b265eb4462b45f85118a8be4cd?pvs=4 2023. 7. 17.
리팩터링 챕터 6 https://www.notion.so/6-18f1379087114234ab46e26e98c6a368?pvs=4 2023. 7. 16.
728x90