[워밍업 클럽 스터디 2기 - 클린코드, 테스트코드] 1주차 발자국
섹션2. 추상클린 코드를 왜 지켜야 할까?가독성이 좋다 = 코드가 잘 읽힌다 = 이해가 잘 된다 = 유지보수 하기가 수월하다결국 나와 팀 전체가 유지보수 하기가 수월하기 때문에 클린 코드를 지향해야 한다.추상적 사고란?표현하고자 하는 구체에서 핵심 개념만을 추출하여 잘 드러내는 표현도메인의 문맥 안에서 이해되는 용어변수, 메서드 이름, 매직 넘버, 매직 스트, 추상화 레벨을 맞춰 읽기 좋게 만듦 섹션3. 논리, 사고의 흐름void 대신 반환 타입 주기 -> 반환값이 있으면 테스트 용이early return을 통한 else 사용 지양사용 변수는 가깝게공백을 통한 의미 나누기부정연산자 사용 대신 의미를 변경해피 케이스와 예외 처리 섹션4. 객체 지향 패러다임객제 지향의 장점절차 지향에서 잘 보이지 않았던 개념을 가시화관심사가 한 군데로 모여 유지 보수성을 높임보다 높은 추상화 레벨에서 도메인 로직 다룸 주의! Setter 사용 자제: 데이터는 불변이 최고Getter 사용 자제: 객체에 메시지를 보내라!1개의 관심사로 명확하게 책임이 정의되었는지 확인하기 SOLIDSRP: 하나의 클래스는 단 한 가지의 변경 이유만을 가져야 한다. OCP: 확장에는 열려 있고, 수정에는 닫혀 있어야 한다. LSP: 상속 구조에서, 부모 클래스의 인스턴스를 자식 클래스의 인스턴스로 치환할 수 있어야 한다. ISP: 클라이언트는 자신이 사용하지 않는 인터페이스에 의존하면 안 된다. DIP: 상위 수준의 모듈은 하위 수준의 모듈에 의존해서는 안 된다. 모두 추상화에 의존해야 한다. 1주차 미션Day2 미션흑백 요리사를 보던 중 백종원 선생님이 음식을 맛있게 먹는 평가하는 모습을 보고 이를 구체적으로 표현해 보았다.음식을 먹는다.음식 속 맛을 내는 물질이 입안으로 들어온다.침에 녹아 맛 구멍을 통해 들어간다.맛을 감지하는 세포가 자극을 받는다.자극이 신경을 통해 뇌로 전달된다.맛을 느낀다.맛을 평가한다. Day4 미션주어진 코드를 클린 코드 방식으로 리팩토링 하였다.SOLID에 대해 복기하며 다시 정의해 보았다. 1주차 회고병행하는 게 많아서 강의 진도를 따라가기 힘들었다.클린 코드에 대해 막연히 생각했었는데, 이번 기회에 잘 배워서 내 것으로 만들 수 있도록 해야겠다.