[워밍업 클럽 스터디 2기 - 클린 코드, 테스트코드] 1주차 발자국

[워밍업 클럽 스터디 2기 - 클린 코드, 테스트코드] 1주차 발자국

강의 수강

 

강의 내용 요약

1주차는 섹션1~섹션5 까지 강의를 수강하였다.


섹션2(추상)

  • 구체적인 실체에서 중요한 정보는 가려내어 남기고, 덜 중요한 정보는 생략하여 버린다.

    • 어느 정도냐 에 따라 추상화 레벨이 생긴다

  • 적절한 추상화는 해당 도메인의 문맥 안에서, 정말 중요한 핵심 개념만 남겨서 표현하는 것


섹션3(논리, 사고의 흐름)

  • 인지적 경제성 : 최소한의 정보로 최대 효율을 내보자 => 낮은 추상화레벨 -> 잘 읽히도록

  • early return : else 사용을 지양하여 일찍 return 할 수 있다면 return 하자

  • 중첩 반복문, 조건문을 추상화를 통해 사고의 depth를 줄이자

  • 공백 라인을 잘 활용하여 의미 단위로 나누자

  • 부정어구를 쓰지 않아도 되는 상황인지 체크하고 부정의 의미를 담은 다른 단어가 있는지, 부정어구로 메서드 명을 구성하자

  • 사람은 happy case의 물두하는 경향이 있다 => 예외처리를 꼼꼼하게 하는 개발자가 되자

  • 항상 NullPointExecption을 방지하는 방향으로 경각심을 가지자

     


    섹션4(객체 지향 패러다임)

  • 객체는 데이터와 코드의 조합이다.

  • 공통된 관심사들을 분리시켜 객체로 만들어 유지 보수성을 올린다

  • 객체의 책임이 나뉨에 따라 객체간 협력이 발생한다

SRP(단일 책임 원칙) : 하나의 클래스는 단 한가지의 책임만을 가져야 한다

OCP(개방 패쇄 원칙) : 기존 코드의 변경없이 시스템의 기능을 확장할 수 있어야 한다.

LSP(리스코프 치환 원칙) : 상속 구조에서 부모 클래스의 인스턴스를 자식 클래스의 인스턴스로 치환 할 수 있어야 한다.

ISP(인터페이스 분리 원칙) : 인터페이스를 잘게 쪼개서 사용하지 않는 기능이 없도록 구현하자

DIP(의존성 역전 원칙) : 의존성의 역방향(고수준, 저수준 모듈이 모두 추상화에 의존하는것) 인터페이스만 알고 있는 상태로 구현하자


섹션5(객체 지향 적용하기)

  • 상속보단 조합을 사용하자(인터페이스를 활용)

  • 도메인의 어떤 개념을 추상화하여 표현한 값 객체(VO)를 사용하여 의미를 부여하고 추상화한다

  • 일급 컬렉션 VO와 비슷하게 컬렉션을 포장하면서, 컬렉션만을 유일하게 필드로 가지는 객체를 사용하여 의미를 부여할수 있음

  • 상수들의 집합인 enum은 상수와 관련된 로직을 담을 수 있는 공간을 제공해준다.

  • 변하는 것과 변하지 않는 것을 분리하고 다형성을 구현한다

  •  

 

일주일 간 회고

  • 일단 인프런 워밍업 스터디를 지원한 이유는 나는 기존에 이 두 강의를 듣고 있었다. 하지만 그냥 강의를 듣고 맹목적으로 코드를 이해하려하지 않고 따라치기만 했던 것 같았고 그 결과 내 머리속에 내용이 없었다. 그래서 이번 기회에 확실히 다져보자 라는 생각으로 지원을 하였다.

  • 미션을 수행하고 공부를 하다보니 처음 수강을 했을 때는 필요성에 대해 잘 이해하지 못했으나 비로소 왜 필요한지 이곳에는 이렇게 사용하는 것이 맞을지 고민을 하게 되었고 조금은 발전 한 것 같아 좋았다.

  • 하지만 아쉬운 점도 있었다. 시간을 규모있게 사용하지 못한 것 같다. 강의가 전반적으로 길고 너무 많은 정보가 쏟아지는 지라 긴 시간동안 집중을 할 수 없었고, 그래서 한 번 보고 나중에 보고를 반복 하다 보니 생각 보다 많은 시간이 걸렸다. 이제 부터 학교 시험기간에 돌입을 한다. 점점 힘들어질것이다. 포기 하지 않고 시간을 규모있게 써서 완주 하고 싶다

 

미션

미션 해결 과정

(인프런 워밍업 스터디 클럽2기 백엔드(클린코드, 테스트 코드)🍀 Day4 미션 | Sung Jae's Blog (byuntil.github.io)

위 블로그에 작성을 해놓았다.

 

미션 해결에 대한 회고

  • 정말 간단한 미션이었고, 그렇게 난이도 자체도 높지 않은 미션이었다. 하지만 고민해본 부분들은 상당히 많았다. 정말 이런 간단한 문제조차도 이렇게 고민 해야 하는 부분이 많은데 나중에 실무에서나 아니면 교육기관이나 프로젝트를 할 때 내가 정말 잘 해낼 수 있을지 덜컥 겁부터 난다.

  • 겁이 난다고 이 상태로 있을 것이 아니라 꾸준히 노력을 한다면 충분히 해 내리라는 자신이 있다.

댓글을 작성해보세요.

채널톡 아이콘