인프런 워밍업 클럽 백엔드-code 1주차 발자국

인프런 워밍업 클럽 백엔드-code 1주차 발자국

학습 요약

추상과 구체

구체 :

  • 구체적인 것, 상세하고 자세하고...

  • ex: 사전에 있는 단어의 정의, 컴퓨터 내부의 동작 방식...

추상 :

  • 구체에서 엑기스만 뽑은 것, 사람이 쉽게 이해할 수 있는 것

  • ex: 단어 그 자체, 클릭으로 쉽게 사용 가능한 컴퓨터 프로그램...

 

구체에서 정보 함축, 제거 -> 추상

추상에서 정보 유추, 재현해 이해, 추론 -> 구체

 

추상되어 있는 것을 보고 쉽게 구체적인 것들을 떠올릴 수 있게 하는 것이 좋은 추상!

 

복잡한 데이터 & 로직으로 작성된 코드 = 구체

읽기 좋은 코드 = 추상

 

읽기 좋은 코드란 코드를 읽으면서 복잡한 프로그램의 로직을 떠올리고 유추하고 이해할 수 있는 것이다.

 

늘 코드를 읽을 때 어렵고 오래 걸리고 복잡했던 이유

  • 왜 이런 코드를 짰는지 떠올려야 함

  • 복잡한 로직을 해석해야 함

  • 코드를 왔다 갔다 하면서 확인해야 함

 

좋은 코드 = 읽기 좋은 코드를 짜려면 잘 추상화 되어서 쭉 읽히고 이해되어야 함.

 

그렇다면 어떻게 좋은 추상화 할 수 있는지?

  • 이름 잘 짓기

  • 메서드 선언부 잘 사용하기

  • 추상화 레벨 맞추기

  • 매직 넘버, 스트링 추출하기

  • early return 하기

  • 사고의 depth 줄이기

  • 공백 라인 활용하기

  • 부정어 피하기

  • 예외처리 잘하기

     

 

미션

Day2 미션 : 안쪽은 복잡하고 많지만 바깥쪽에서는 직관적으로 보이는 것들을 떠올려 보면서 추상과 구체를 이해해보려고 했다.

Day4 미션 : 좋은 추상화를 하는 방법들을 보며 하나씩 적용해 보았다.

 

회고

처음에 추상과 구체라는 말을 보고 이해가 잘 되지 않고 무슨 말인가 싶었다.

하지만 강의를 들으면서 이해해 가면서 왜 읽기 좋은 코드가 추상화가 잘 된 코드인지 알게 되었다.

특히 추상화 레벨 맞추는 것은 왜 늘 코드를 작성하며 메서드 추출하고 이름을 고민하고 짓고 상수를 추출해도 내 코드가 읽기 어려웠는지 알려주었다.

머리에 종이 울리는 느낌이였고 좋은 코드에 대해 제대로 알게된 기분이였다.

 

이번 주에는 바빠서 진도표를 맞추지 못했지만 다음 주에는 더 많이 듣고 복습해봐야겠다.

또 다음 주에는 코드도 같이 수정해보면서 더 이해하고 내 것으로 만들어야겠다.

댓글을 작성해보세요.

채널톡 아이콘