inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

Steet
0

1주차에서 배운 내용 중 가장 중요한 주제는 추상화라고 생각한다.
섹션 2 추론에서는
프로그램은 데이터와 코드의 조합으로 구성되어 있고 코드 설계 시 중요한 정보는 남겨 데이터를 관리하는 코드에서 중요한 말만을 남겨 놓는다. 이렇게 추상화를 할 때 높은 추상화와 낮은 추상화가 격으로 나눠지는데 클린 코드를 함에 있어 main 부분에는 고수준 추상화를 남겨 놓구 구현부에 저수준 추상화를 하여 동료 개발자가 유지보수하기 편하게 약속을 정할 수 있다.


결국, 구체로 부터 추상을 해내고 정보를 덜어내고 가장 중요한 정보는 남기고 추상화 과정은 컴퓨터 과학의 본질이고 도메인 개념에서 추상화 하는 작업을 해나가야 한다..

섹션3 논리, 사고의 흐름에서는

  1. Early return 으로 else의 사용

  2. 추상화를 통한 사고 과정의 depth를 줄이는 것이 중요

  3. 공백으로 문단 나누자

  4. 코드(조건문 등)에서 부정어구(!)를 가급적 피하자

  5. 예외 발생 중 NPE에 대한 부분을 처리하는데 있어 Optional에 대해 배웠음

    1. orElseThrow() : 선택적 값이 존재하지 않으면 NoSuchElementException 같은 예외를 발생시키며, 존재하면 그 값을 반환

    2. orElse() : 선택적 값이 없으면 괄호 안에 정의된 기본 값을 반환

    3. orElseGet() : 선택적 값이 없으면, orElseGet()에 전달된 람다식이나 메서드가 실행되어 그 값을 반환

섹션 4 객체 지향 패러다임에서는 SOLID에 대해서 배웠다.

1. SRP(Single Responsibility Principle)

2. OCP (Open-Closed Principle)

LSP (Liskov Subsitution Principle)

ISP ( Interface Segregation Principle)

DIP (Dependency Inversion Principle)

해당 내용을 배웠다.

답변 0