개발자를 희망하는 초보의 자기개발 이야기

클린코드 Assignment #02 : 깨끗한 코드란 본문

도서/클린코드(Clean Code)

클린코드 Assignment #02 : 깨끗한 코드란

클라우드아실 2024. 11. 30. 21:56
반응형

 

💡TIL (Today I Learned)

2024.11.30

📖 오늘 읽은 범위

추천사 ~ 1장. 깨끗한 코드

✔ 책에서 기억하고 싶은 내용

  • TPM 5S철학으로 코드 바라보기
    1. 정리 : 적절하게 이름 붙인다.
    2. 정돈 : 누구나 예상하는 위치에 둔다.
    3. 청소 : 불필요한 것은 제거한다.
    4. 청결 : 일관적이게 표준화한다.
    5. 생활화 : 이를 반복한다.
  • 코드는 요구사항을 표현하는 언어다.
  • 좋은 코드를 사수하는 것은 프로그래머들의 책임이다.
  • 나쁜 코드가 나쁜 이유
    1. 또 다른 나쁜 코드를 유도한다.
    2. 개발 속도를 크게 떨어뜨린다.
    3. 팀 생산성이 떨어진다.
    4. 유지보수를 위한 새로운 시스템 개발을 유도한다.
  • 나쁜 코드를 짜는 이유
    1. 일정이 촉박하다.
    2. 사이드 이펙트로 또 다른 버그가 발생할까 봐 기존 코드를 유지한다.
    3. 이로 인해 생산성이 떨어진다.
    4. 일정이 점점 촉박해진다.
  • 빨리 업무를 끝내는 방법은 코드를 최대한 깨끗하게 유지하는 습관이다.
  • 클린 코드
    1. 성능이 좋다.
    2. 가독성이 좋다.
    3. 중복된 코드가 없다.
  • 르블랑의 법칙(나중은 결코 오지 않는다)

📝 오늘 읽은 소감은?

아직은 '클린코드' 보다는 '돌아가는 코드'를 만드는 게 우선이지만 여러 번 협업을 경험하면서 팀원의 코드에 따라 개발 속도가 확연히 달라지는 것을 경험했다. 그래서 내게 있어 클린코드를 읽고 공부하고 연습하는 이유는 내 코드가 다른 사람에게 방해가 되지 않기를 바라기 때문이다. 

'코딩 책 한 권만 읽으면 이렇게 됩니다' 라는 제목의 코딩애플 유튜브에서는 클린코드를 예시로 책 한권 읽고 이를 종교처럼 떠받들면서 다른 사람에게 강요하면 안된다는 내용이다. 책을 읽으면서 이를 직접 '생각'해 보고 '의심'해 보면서 학습하기를 권유한다.
살아가면서 느끼는 부분이지만 '절대'인 것은 없다. 상황에 따라 유연한 사고를 할 줄 아는 것도 협업에서는 중요한 것이다. 그래서 나는 이 책을
통해 기술을 습득해서 다른 사람에게 이렇게 해야 한다 강요하는 사람이 되고 싶지는 않다. 다만, 클린코드가 무엇인지 배우고, 숙달이 된다면. 내가 기존의 코드를 더 클린 하게 만들 수 있다면 더 나은 방향을 직접 제시할 수 있는 사람이고 싶다

🤔 궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 휴리스틱(heuristic) : 경험에 기반해 어림잡아 판단하는 것. 기계와는 다른 인간의 특성이다.
  • 스크럼(scrum) : 애자일(Agile) 방법론 중 하나로, 소프트웨어 개발 프로젝트 관리에 많이 사용한다. 스프린트를 반복하며 점진적으로 개발한다.
  • 스프린트(sprint) : 2~4주 사이의 짧은 개발 주기로, 각 스프린트에서 팀은 구현 가능한 기능을 완료하는 것을 목표로 한다. 스프린트가 끝나면 다음 스프린트로 이어진다.
  • 린(lean) : 개발에서 린이란 불필요한 코드를 작성하지 않고, 고객이 원하는 기능을 빠르고 효율적으로 제공하는 것을 목표로 하는 방식이다. 반복적인 개선, 피드백, 낭비 제거가 중요한 요소이다.

🔎 참고자료

JS로 읽는 클린코드 (한글판)
https://silver-ye.tistory.com/

 

 

반응형