인프런 워밍업클럽 1일차

인프런 워밍업클럽 1일차

image

https://www.inflearn.com/course/readable-code-%EC%9D%BD%EA%B8%B0%EC%A2%8B%EC%9D%80%EC%BD%94%EB%93%9C-%EC%9E%91%EC%84%B1%EC%82%AC%EA%B3%A0%EB%B2%95

이 글은 위의 강의중 제가 중요하다고 생각한 부분과, 저만의 의견을 덧붙여서 정리해보았습니다.

정확한 내용과 더 많은 내용을 듣고싶다면 위의 강의를 수강하여 들으시는 것을 제안 드립니다.

 

시작하며..

지금까지 회사를 다니면서 간단한 CRUD 작업만 하다보니 스프링 프레임워크에서 제공해주는 기본적인 구조로만 작업을 해왔다. 나름 객체지향, 클린코드를 지향하며 코드를 작성했다고 생각했는데 객체지향은 개뿔.. 아무것도 사용하지 않았더라.. 물론 코드는 간단했고, 가독성도 있어보였고, 가독성도 좋더라.

왜냐하면 로직 자체가 간단했으니까..

그래서 이번 기회에 인프런 워밍업 클럭 밴엔드 과정을 진행하면서 매일마다 간단 후기를 작성하고자 한다.

 

읽기 좋은 코드

  • 코딩 작업의 대부분은 코드를 작성하는 시간보다 코드를 읽는 시간이 압도적으로 많다.

  • 내가 작성한 코드는 작성하는 순간 레거시 코드가 된다. 다른 개발자가 볼 수 있지만, 내가 될 수도 있수도 있고..!!
    (내가 작성한 코드는 내가 가장 많이 본다 ㅋㅋㅋㅋ)

  • 읽기 좋은 코드는 유지보수 하기 편하고, 내가 업무하기 편해지고, 월급이 올라간다!!

 

프로그램의 정의

  • 프로그램 : 데이터 + 코드

  • 잘 추상화된 데이터는 코드로 다루기가 쉬워진다.

 

추상

  • 추상 : 사물을 정확하게 이해하기 위해서 사물이 지니고 있는 여러가지 측면 가운데서 특정한 측면만을 가려내어 포착하는 것 (위키)

  • 즉, 중요한 정보는 남기고, 중요하지 않은 정보는 생략하는 것

  • 추상의 반대는 구체이다.

  • 구체 -> 추상 : 추상화, 추상 -> 코드 : 구체화

    • 타입도 데이터의 추상화이다. 이진수 -> 바이트 -> 문자, 숫자 -> 구조체 -> 객체

    • 기계어 -> 프로그래밍 언어

    • 하드웨어 -> 운영체제 -> 애플리케이션

    • OSI 7계층

    • 변수의 이름을 짓는 행위

    • 메소드의 추상화

       

추상화 레벨

  • 하나의 영역 안에서 추상화 레벨은 동등해야 한다. 같은 영역(메소드, 블럭 등) 안에서 추상화 레벨이 동일해야 가독성이 좋아진다.

댓글을 작성해보세요.

채널톡 아이콘