Community

개발자 99% 커뮤니티에서 수다 떨어요!

← Go back
TIL 1장. 깨끗한 코드
#clean_code
2년 전
706


TIL (Today I Learned)

2022-02-19

오늘 읽은 범위

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

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

  • ● 5S철학의 개념은 다음과 같다. 정리(sort), 정돈(Seiton), 청소(Seiso), 청결(Seiketsu), 생활화(Shutsuke)로 이루어져 있다.

     

  • ● 장인 정신을 익히는 과정은 두 단계로 나뉜다. 바로 이론과 실전이다. 첫째,

    장인에게 필요한 원칙, 패턴, 기법, 경험이라는 지식을 습득해야 한다. 둘째, 열

    심히 일하고 연습해 지식을 몸과 마음으로 체득해야 한다.

     

  • ● 일정에 쫓기더라도 대다수 관리자는 좋은 코드를 원한다. 그들이 일정과 요구사항을 강력하게 밀어붙이는 이유는 그것이 그들의 책임이기 때문이다. 좋은 코드를 사수하는 일은 바로

    우리 프로그래머들의 책임이다.

    프로그래머도 마찬가지다. 나쁜 코드의 위험을 이해하지 못하는 관리자 말을 그대로 따르는 행동은 전문가답지 못하다

     

  • ● 비야네는 철저한 오류 처리도 언급한다. 세세한 사항까지 꼼꼼하게 신경 쓰라는 말이다. 프로그래머들이 대충 넘어가는 부분 중 하나가 오류 처리다. 메모리 누수, 경쟁 상태race condition, 일관성 없는 명명법이 또 다른 예다. 한 마디로 요약하면, 깨끗한 코드는 세세한 사항까지 꼼꼼하게 처리하는 코드다.

     

  • ● 코드는 추측이 아니라 사실에 기반해야 한다. 반드시 필요한 내용만 담아야 한다. 코드를 읽는 사람에게 프로그래머가 단호하다는 인상을 줘야 한다.

     

  • ● (데이브 토마스) : 깨끗한 코드는 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다. 단위 테스트 케이스와 인수 테스트 케이스가 존재한다. 깨끗한 코드에는 의미 있는 이름이 붙는다.

     

  • ● 짤막한 문단 몇 개로 론은 이 책 내용을 요약했다. 중복을 피하라. 한 기능만 수행하라. 제대로 표현하라. 작게 추상화하라.

     

  • ● 우리가 가르치는 기법을 따른다면 깨끗하고 수준 높은 코드를 작성하리라 감히 장담한다. 하지만 우리 생각이 절대적으로 ‘옳다’라는 단정은 금물이다. 우리들 못지않게 경험 많은 집단과 전문가가 존재한다. 마땅히 그들에게서도 배우라고 권한다.

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

  • 깨끗한 코드, 좋은 코드란 무엇일까를 고민하게 하는 첫장이었다. 아직 회사를 다니며 어떤 작업을 하고 있지도 않고, 내스스로 무엇인가를 고민하여 만드는 코드를 작성해본적도 손에 꼽는다. 하지만 초급자든 고급자든 원하는 방향은 항상 같다고 생각한다. 내 코드를 보고 당당하게 자랑할 코드를 짜는 것. 나는 이 책에서 그 길로 가는 방향에 대해서 노하우를 얻을 수 있으리라는 생각이 들었다.

     

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

  • -Architecture(아키텍처)

    컴퓨터 시스템의 하드웨어 구조를 말합니다. 아키텍처는 컴퓨터 시스템을 구성하고 있는 하드웨어 장치인 CPU, 레지스터, 기억 장치, 입출력 장치 등과 같은 여러 가지 컴퓨터 구성 요소들에 대한 전반적인 기계적 구조와 이를 설계하는 방법입니다.

     

  • -Scrum(스크럼)

    프로젝트 관리를 위한 상호, 점진적 개발방법론이며, 애자일 소프트웨어 개발 중의 하나이다.

     

  • -애자일

    민첩성을 뜻하며 소포트웨어 기업들이 도입한 개념으로 급변하는 시장에서 기민한 대응을 하기 위해 빠르고 유연한 기업 환경(조직)을 만드는 것을 목적으로 한다. 애자일의 본질은 고객들에게 최소 기능과 제품을 보여주고 피드백 받은 다음에 개선해가는 것이다.

     

  • -휴리스틱(heuristics)/발견법(發見法)

    불충분한 시간이나 정보로 인하여 합리적인 판단을 할 수 없거나, 체계적이면서 합리적인 판단이 굳이 필요하지 않은 상황에서 사람들이 빠르게 사용할 수 있게 보다 용이하게 구성된 간편추론의 방법이다. ex) 논리적인 추론이 어려운 상황에서 경험에 의존하는 경우

     

  • -르블랑의 법칙(Leblanc’s Law)

    나중은 절대 돌아오지 않는다는 법칙.