😀 책에서 기억하고 싶은 내용을 써보세요.

  • 함수를 작게 만들어라
    => 100줄을 넘어서는 절대 안 되고, 20줄도 길다.
    => 3000줄이나 되는 끔찍한 함수를 만들지 말자.
    => if 문/else 문/while 문 등에 들어가는 블록은 한 줄이어야 한다.
    => 중첩 구조가 생길 만큼 함수가 커져서는 안 된다. 그래야 함수는 읽고 이해하기 쉬워진다.

  • 한 가지만 해라!
    => 함수는 한 가지를 해야 한다. 그 한 가지를 잘해야 한다. 그 한 가지만을 해야 한다.
    => 단순히 다른 표현이 아니라 의미 있는 이름으로 다른 함수를 추출할 수 있다면
         그 함수는 여러 작업을 하는 셈이다.

  • 코드는 위에서 아래로 이야기처럼 읽혀야 좋다.
    => 한 함수 다음에는 추상화 수준이 한 단계 낮은 함수가 온다.

  • 서술적인 이름을 사용하라!
    => 길고 서술적인 이름이 짧고 어려운 이름보다 좋다.

 

 

🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

  1. 함수를 작게 만들어야 하는 것은 많이 들어봤지만 20줄도 길다는 얘기는 조금 충격적이었습니다.
    => 잘게 나누고 명확할수록 더 읽기 좋다는 것을 알게 되었습니다.
    => if 문 안에 들어가는 로직도 함수로 뺄 수 있으면 빼봐야겠습니다.
  2. 함수가 한 가지 일만 하도록 하는 것이 의미 있는 이름을 짓는데 큰 도움이 될 것 같습니다.
  3. 코드를 위에서 아래로 이야기처럼 읽히도록 한다는 게 마치 처음에 나왔던 책과 비슷하다는 내용이 생각납니다.

 

 

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

  • 이런 규칙을 정할 때 가장 고민이 되는 것은 같은 팀원분들과 어떻게 타협점을 잡을지입니다.
    만약에 팀원들이 이런 방식을 싫어한다면 어떻게 이해시키고 실행할지 고민됩니다.
  • 회사에 입사해서 클린 코드에 나오는 방식을 사용하지 않으면 어떡할까 라는 고민도 같이 됩니다.

 

👀 소감 3줄 요약

  • 저자가 정말 명확하게 방법을 제시해줘서 리팩터링에 큰 도움이 될 것 같습니다.
  • 깨끗한 코드는 끊임없는 관심 속에 만들어진다는 것을 느꼈습니다.
  • 어제도 내가 작성한 코드를 리팩터링 하지 않았는데 오늘은 명확하게 목표를 설정해야겠습니다.
    => 지금 프로젝트에서 하루에 함수 한 개 리팩터링 해보기

 

 

 

 
 

 

반응형

노마드 코더

 

 

 

 

😀 책에서 기억하고 싶은 내용을 써보세요.

  • 한 개념에 한 단어를 사용하라
    => 추상적인 개념 하나에 단어 하나를 선택해 이를 고수한다.
    예를 들어, 똑같은 메서드를 클래스마다 fetch, retrieve, get으로 제각각 부르면 혼란스럽다.
  • 메서드 이름은 독자적이고 일관적이어야 한다.
    => 그래야 주석을 뒤져보지 않고도 프로그래머가 올바른 메서드를 선택한다.
  • 한 단어를 두 가지 목적으로 사용하지 마라.
    => 다른 개념에 같은 단어를 사용한다면 그것은 말장난에 불과하다.
  • 불필요한 맥락을 없애라
    => 짧은 이름이 긴 이름보다 좋지만, 의미가 분명해야 한다.

 

 

🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

  1. 클린 코드를 읽으면서 내가 작성한 코드를 보니까 의미가 명확하지 않은 것들이 많았습니다.
    => 다행히도 주석을 달아놓아서 의미 파악은 가능했지만 없었으면 힘들었을 것입니다.
    => 예전에 작성한 코드를 보면서 비슷한 것들이 있는지 확인 후 교체하면서 연습 필요하다고 생각했습니다.
    => 직접 바꿔보면서 연습해 연습!
  2. 불필요한 맥락을 지우고 의미를 명확하게 한다는 것이 상당히 힘들다는 것을 느꼈습니다.
    => 처음에 나온 장인 정신처럼 내가 작성한 코드에 만족하지 못하는 성향이 있는 것 같습니다.
    => 다른 사람이 봤을 때 어떻게 생각할까 라는 고민을 하는 것 같습니다(팀원이 내 코드를 봤을 때).

 

 

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

  • 문제 영역에서 가져온 이름을 사용하라(34p)
    => 문제 영역이 정확하게 어디인지 잘 모르겠습니다.
    => 구글에 'Problem Domain' 검색해서 의미 파악해보기
  • 우수한 프로그래머와 설계자라면 해법 영역과 문제 해결 영역을 구분할 줄 알아야 한다.(35p)
    => 해법 영역은 프로그래머가 주로 사용하는 기술적인 용어를 얘기하는 것 같습니다(프로그래머 용어).
    ex) 전산 용어, 알고리즘 이름, 패턴 이름, 수학 용어 -> JobQueue, AccountVisitor 등

    => 문제 영역은 프로그래머보다는 고객의 영역에 가까운 것 같습니다(고객이 제시한 문제, 고객 친화적 용어).

 

👀 소감 3줄 요약

  • 클린 코드를 읽으면서 해이해진 나를 다시 일으키는 기회가 되었으면 좋겠습니다.
  • 장인정신을 가지고 내 코드를 한 번이라도 더 들여다보고 리팩터링!
  • 오늘 바로 당장 프로젝트 코드 수정해보자!

 

 

 

 
반응형

노마드코더

 

 

😀 책에서 기억하고 싶은 내용을 써보세요.

  • 깨끗한 코드는 읽으면서 놀랄 일이 없어야 한다 - 워드 커닝햄 -
  • 코드를 독해하느라 머리를 쥐어짤 필요가 없어야 한다.
  • 잘 짠 코드가 전부는 아니다. 시간이 지나도 언제나 깨끗하게 유지해야 한다.
    => 우리는 적극적으로 코드의 퇴보를 막아야 한다.
  • "연습해, 연습!"

 

 

🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

  1. 깨끗한 코드는 막힘없이 읽혀야 한다는 것을 알게 되었습니다.
    => 내 코드를 다른사람이 읽을 때 과연 그럴까 고민하게 되었습니다.
  2. 내가 독해하느라 머리를 쥐어짠 코드는 다른 사람도 동일 하다는걸 프로젝트하면서 느꼈습니다.
    => 우선 내가 봤을 때 깨끗하게 만든 후에 피드백을 받아야 한다고 생각합니다.
  3. 결국에는 끊임없이 연습 또 연습

 

 

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

  • 잘 짠 코드가 깨끗한 코드라는 생각을 가졌습니다.
    이 부분에서 둘의 차이가 어떤지 궁금합니다.
    => 제 생각에는 성능이 좋고 의도한대로 돌아가지만, 남들이 봤을 때 더러운 코드 같습니다.
    => 결국 자신만 이해하는 자기만족의 코드라고 생각했습니다.

 

 

👀 소감 3줄 요약

  • 누구든 쉽게 읽을 수 있는 코드, 남들이 머리를 쥐어짜지 않게 하자!
  • 잘 짠 코드라는 목표를 넘어서 깨끗한 코드를 만들자!
  • 읽고 끝내는 것이 아니라 연습 또 연습!

 

 

반응형

노마드코더

 

 

😀 책에서 기억하고 싶은 내용을 써보세요.

  • 작은 것에도 충실한 사람이 큰 것에도 충실하다.
    => 호미로 막을 일을 가래로 막지마라.
    => 일찍 일어나는 새가 벌레를 잡는다.
    => 오늘 할 수 있는 일을 내일로 미루지 마라.
  • 좋은 코드를 사수하는 일은 바로 우리 프로그래머들의 책임이다.
    => 일정에 쫓기더라도 대다수 관리자는 좋은 코드를 원한다.
    => 그들이 일정과 요구사항을 강력하게 밀어붙이는 이유는 그것이 그들의 책임이기 때문이다.
    => 나쁜 코드의 위험을 이해하지 못하는 관리자의 말을 그대로 따르는 행동은 전문가답지 못하다.
  • 깨끗한 코드는 세세한 사항까지 꼼꼼하게 처리하는 코드다.
  • 깨끗한 코드는 한가지에 '집중'한다.
  • 깨끗한 코드는 단순하고 직접적이다.
  • 깨끗한 코드는 다른 사람이 고치기 쉽다.

 

 

🤔 오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요.

  1. 더러운 코드를 작성하고 재설계를 한다는건 상당히 힘들다.
    => 실제로 프로젝트 하면서 '우선 만들고 리펙토링 하자' 는 생각은 잘 안지켜졌다.
    => 재설계를 하자고 생각하지만 하나를 고치면 다른 곳도 문제가 생겨서 방관한 적도 있다.
  2. 나쁜코드를 작성해서 프로젝트 기간동안 다른 팀원에게 수정 사항을 받은적이 있다.

 

 

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

  • 코드는 추측이 아니라 사실에 기반해야 한다. 반드시 필요한 내용만 담아야 한다.
    => 코드가 추측이 아니라 사실이라는 말이 잘 모르겠습니다.

 

 

👀 소감 3줄 요약

  • 프로젝트를 진행과 동시에 클린 코드를 읽으면서 책 내용 활용
  • 첫 부분을 읽으면서 왜 이 책이 좋다고 생각하는지 알게 되었습니다.
    => 개발자의 습관에 대한 내용
    => 다양한 예시와 유명한 개발자들의 말을 인용
  • 끝까지 꼭 읽자!
반응형

+ Recent posts