[인프런 워밍업 클럽 백엔드 스터디 2기] 1주차 발자국

[인프런 워밍업 클럽 백엔드 스터디 2기] 1주차 발자국

1주차 학습 내용


클린 코드가 필요한 이유

  • 미래의 나 혹은 다른 사람이 코드를 읽는 데 소요되는 시간과 자원이 절약된다. = 유지보수가 용이하다.

 

[Section2] 추상

  • 클린 코드를 위한 핵심 주제

  • 구체적인 정보들에서 핵심만 추려 표현

  • 복잡한 로직을 단순하게 표현 -> 읽기가 좋다

  • 적절한 추상화를 위한 변수 및 메서드의 naming, 상수화, 추상화 레벨을 동등하게 맞춰 읽기 좋은 코드를 작성하는 법에 대해 학습

     

     

[Section3] 논리, 사고의 흐름

  • 잘 읽히는 코드를 위한 방법에 대해 학습

  • 코드의 depth를 줄여 사고의 과정을 줄이기

  • 공백을 활용해 적절한 의미 나누기

  • 부정어 최대한 사용하지 않기

  • NPE에 대한 처리, 의도한 예외와 예상하지 못 한 예외에 대한 구분

  • Optional의 적절한 활용

 

[Section4] 객체 지향 패러다임

  • 객체 지향의 설계 원칙에 입각한 클래스 구분

  • 하나의 책임을 가지는 객체들 간의 협력으로 소프트웨어를 구성하자

  • 개념적으로만 알고 있던 객체 지향 설계 5대 원칙을 실제 코드에 적용해 보며 학습

 

[Section5] 객체 지향 적용하기

  • 상속은 부모와 자식간의 결합도가 높기 때문에 조합을 활용하는 것을 추천

  • VO, 일급 컬렉션의 개념과 활용

  • Enum 클래스의 활용

  • 변하는 것과 변하지 않는 것을 분리하여 추상화함으로써 OCP를 만족하는 코드를 작성

  • 설계할 때는 근시적, 거시적 관점에서 최대한 미래를 예측하고 예측이 틀린 경우를 대비해 언제든 돌아올 수 있도록 코드를 작성

     

     

     

    1주차 미션


    Day2 미션

  • 일상의 추상적인 행위에 대해 구체적으로 표현해보는 간단한 미션이었다.

  • '양치질'이라는 행위에 대한 과정을 구체적인 단계로 표현해보았다.

 

Day4 미션

1주차 회고


  • 학습해야할 내용이 생각보다 많아 퇴근 후 진도를 맞추기 버거운 부분이 있었다.

  • 이번 주는 휴일이 많아 이를 활용해 진도를 맞출 수 있었지만 이후로는 주말을 활용해 미리 학습할 필요가 있을 것 같다.

  • 객체 지향에 대해 개념만 학습하고 활용하는 방법에 대해선 알지 못했다. 이번 학습을 계기로 실무에서 적용해볼 수 있는 좋은 코드를 작성하는 방법을 많이 배울 수 있었다. 회사 코드를 작성하면서 배운 내용들을 되새기며 다른 팀원들의 입장에서 코드를 작성해나가야겠다.

댓글을 작성해보세요.

채널톡 아이콘