유데미 《클린코드 자바스크립트(JavaScript)》 수강 후기

작성 : 2024-02-16수정 : 2024-02-16

목차 펼치기

 Created By GPT4 - 클린 코드에 대한 추상화.

Created By GPT4 - 클린 코드에 대한 추상화.

머리말

글또 9기에 합류했을 뿐인데, 감사하게도 유데미 강의를 수강할 수 있는 기회가 생겼다. 어떤 강의를 들을까 많은 고민을 하다 최근에 개인적인 화두가 ‘기초’이기도 하고, 클린 코드에 대한 강의에서는 어떻게 이야기하는 지 궁금한 마음이 들어 《클린코드 자바스크립트(JavaScript)》 강의를 수강하게 되었다. 이 글은 모든 코스를 수료한 후 작성하는 후기다.


클린 코드를 위해 가져야 할 5가지 태도

  1. 의심하라.
  2. 열린 태도를 가져라.
  3. 생각하고 고민해라.
  4. 학습해라.
  5. 스타일을 탐구해라.

하나의 기능을 만드는 방법은 매우 다양하고 우리는 항상 가독성과 효율성 사이의 균형을 찾는다. 클린 코드에 대한 기준도 개인의 가치관에 따라 다를 수 있기 때문에 미리 규칙을 정의하고 강제할 수 있는 ESLint나 prettier와 같은 도구를 사용하고 있는 것일 테다.


수강 후기

이 강의는 약 10시간에 걸쳐 자바스크립트의 기초 문법을 시작으로 어떤 생각을 가지고 어떻게 코드를 작성하면 좋은 지 강사의 경험과 생각을 토대로 자세히 가르쳐준다. 변수, 타입, 분기, 함수, 에러 등에 대한 강의에는 너무 자연스럽게 사용하기 때문에 그 이유에 대해 따로 고민해보지 못한 것들이 포함되어 있었다. 덕분에 다시 기본에 대해 생각해 볼 수 있는 시간이었다.


클린 코드에 진리는 없다. 시간이 흘러가면서 코드 스타일이 바뀌어가고, 기술이 발전하고, 개발 상황에 따라 달라질 수 있다. 하지만, 그렇다고 해서 클린 코드를 고려하지 않을 수 없다. 기능이 동작하는 코드를 만들어 낸 것에 만족하지 않고 코드를 되돌아보고 탐구하는 과정을 통해 개발자로서의 성장 뿐만 아니라 성능 상의 이점과 효과적인 협업을 가져갈 수 있다.


하지만 공들여 작성한 글도 퇴고 할 때마다 수정 할 점들이 눈에 보이는 것처럼, 코드 또한 뜯어볼 수록 개선해야될 점이 보인다. 여기서 우리는 완벽주의 때문에 작업을 끝내지 못하는 것을 경계해야 한다.

유한한 리소스로 요구사항을 구현해야 하는 대전제는 변하지 않는다.

그렇기 때문에 어떻게든 문제를 해결해내는 코드의 가치를 비하할 생각은 없다. 우리가 남의 삶을 평가할 수 없다는 것과 마찬가지다.


개인적으로는 요구사항을 맞추기 위해 어떻게든 문제를 해결하는 코드도 좋지만, 좋은 코드는 왜 이렇게 작성했는 지 그 이유를 설명할 수 있어야 하고 정말로 좋은 코드는 이를 근거로 남을 설득할 수 있는 코드라고 생각한다.


클린 코드를 의식하는 마음은 계속해서 스스로를 경계해야 하는 일이다. 분명 편한 길은 아니지만, 더 멀리 또 깊이 가기 위해서는 이 태도를 견지해야 할 것이다.


이 강의를 듣고 ESLint의 규칙들을 보며 왜 이 규칙들이 만들어졌는 지에 대해 탐구해보고 싶은 마음이 더 커졌다.


기억에 남는 키워드

  • 계산을 위한 임시 변수를 제거하자.

  • 값(Value), 식(Expression), 문(Statement)

    • 값은 데이터의 한 조각이다.

    • 식은 값을 산출하는 코드 조각으로 항상 값을 반환한다.

    • 문은 값으로 평가되지 않는 독립적으로 실행 가능한 최소 코드 단위다.

  • 드모르간의 법칙으로 괄호를 제거하고 명확히 표현하자.

    • !(A && B)

      !A || !B

      와 동등하다.

  • 배열도 객체이므로, 객체 및 배열에 대한 구조 분해 할당을 적극 활용하자.

  • 네이밍 컨벤션을 위해 관례상 자주 사용되는 것들을 알아두면 좋다.

  • 내부 동작을 예측할 수 없는 블랙박스 이벤트를 지양하자.

  • 공백도 코드의 일부다.


이런 분들께 추천해요.

강의 설명을 보면 이 강의의 대상으로 아래와 같은 사람들을 소개하고 있다.

  • 이제 JavaScript 기초 문법이 익숙해진 예비 개발자

  • 클린 코드에 관심이 많은 주니어 프론트엔드 개발자

  • JavaScript의 코드 스타일이 궁금한 주니어 프론트엔드 개발자

이미 강의 소개에서 충분히 잘 소개하고 있기 때문에 특별히 더할 것은 없을 것 같다. 굳이 덧붙이자면 클린 코드에 대해 고민해보지 않거나, 왜

let

const

를 사용해야하고, 고차 함수와 메서드 체이닝을 사용하고, ES6 문법을 사용하는 지에 대해 특별히 생각해 본 적 없이 관성적으로 사용하고 있는 사람들에게 클린 코드에 대한 기본적인 화두를 던지기에 좋은 강의라고 생각한다.



🧐 

이 강의가 궁금하다면?


해당 콘텐츠는 유데미로부터 강의 쿠폰을 제공받아 작성되었습니다.


Wanna get in touch?

All Icons byiconiFy