본문 바로가기

개발 서적/클린 코드(Clean Code)

[클린 코드(Clean Code)] 8장 경계 본 게시글은 를 학습한 내용을 정리한 글입니다. (문제시 삭제하겠습니다.) Clean Code(클린 코드) - 교보문고 애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유 www.kyobobook.co.kr 시스템에 들어가는 모든 소프트웨어를 직접 개발하는 경우는 드물다. 패키지를 사거나 오픈소스, 다른 팀이 제공하는 컴포넌트를 사용한다. 어떤식으로든 이 외부 코드를 우리 코드에 깔끔하겍 통합해야만 한다. 외부 코드 사용하기 패키지 제공자나 프레임워크 제공자는 적용성을 최대한 넓히려 애쓴다. 더 많은 환경에서 돌아가야 더 많은 고객이 구매하니까. 반면, 사용자는 자신의..
[Clean Code(클린 코드)] 7장 오류 처리 본 게시글은 를 학습한 내용을 정리한 글입니다. (문제시 삭제하겠습니다.) Clean Code(클린 코드) - 교보문고 애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유 www.kyobobook.co.kr 깨끗한 코드와 오류 처리는 확실히 연관성이 있다. 여기저기 흩어진 오류 처리 코드 때문에 실제 코드가 하는 일을 파악하기가 거의 불가능해질 수도 있다. 오류 처리 코드로 인해 프로그램 논리를 이해하기 어려워진다면 깨끗한 코드라 부르기 어렵다. 예외란? → 입력 값에 대한 처리가 불가능하거나, 프로그램 실행 중에 참조된 값이 잘못된 경우 등 정상적인 프로그램의 흐름에..
[Clean Code(클린 코드)] 6장 형식 맞추기 본 게시글은 를 학습한 내용을 정리한 글입니다. (문제시 삭제하겠습니다.) Clean Code(클린 코드) - 교보문고 애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유 www.kyobobook.co.kr 변수를 private로 정의하는 이유가 있다. 남들이 변수에 의존하지 않게 만들고 싶어서이다. 충동이든 변덕이든, 변수 타입이나 구현을 맘대로 바꾸고 싶어서다. 그렇다면 어째서 수많은 프로그래머가 getter(), setter()를 당연하게 public해 비공개 변수를 외부에 노출할까? 자료 추상화 변수 사이에 함수라는 계층을 넣는다고 구현이 저절로 감춰지지는 않는..
[Clean Code(클린 코드)] 5장 형식 맞추기 본 게시글은 를 학습한 내용을 정리한 글입니다. (문제시 삭제하겠습니다.) Clean Code(클린 코드) - 교보문고 애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유 www.kyobobook.co.kr 프로그래머라면 형식을 깔끔하게 맞춰 코드를 짜야 한다. 코드 형식을 맞추기 위해 간단한 규칙을 정하고 그 규칙을 착실히 따라야 한다. 팀을로 일한다면 팀이 합의해 규칙을 정하고 모두가 그 규칙을 따라야 한다. 형식을 맞추는 목적 코드 형식은 의사소통의 일환이다. 의사소통은 전문 개발자의 일차적인 의무다. 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한..
[Clean Code(클린 코드)] 4장 주석 본 게시글은 를 학습한 내용을 정리한 글입니다. (문제시 삭제하겠습니다.) Clean Code(클린 코드) - 교보문고 애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유 www.kyobobook.co.kr 주석은 기껏해야 필요악이다. 우리에게 프로그래밍 언어를 치밀하게 사용해 의도를 표현할 능력이 있다면, 주석은 거의 필요하지 않으리라. 아니, 전혀 필요하지 않으리라. 주석이 필요한 상황에 처하면 곰곰히 생각하기 바란다. 상황을 역전해 코드로 의도를 표현할 방법은 없을까? 주석은 오래될수록 코드에서 멀어진다. 오래될수록 완전히 그릇될 가능성도 커진다. 프로그래머들이 ..
[Clean Code(클린 코드)] 3장 함수 본 게시글은 를 학습한 내용을 정리한 글입니다. (문제시 삭제하겠습니다.) Clean Code(클린 코드) - 교보문고 애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유 www.kyobobook.co.kr 어떤 프로그램이든 가장 기본적인 단위가 함수다. 이 장은 함수를 잘 만드는 법을 소개한다. 작게 만들어라! 함수를 만드는 첫째 규칙은 '작게!다. 함수를 만드는 둘째 규칙은 '더 작게!'다. 블록과 들여쓰기 - if문 /else 문 /while 문 등에 들어가는 블록은 한 줄이어야 한다. 이 말은 중첩 구조가 생길만큼 함수가 커져서는 안된다는 뜻이다. 한 가지만 해..
[Clean Code(클린 코드)] 2장 의미있는 이름 본 게시글은 를 학습한 내용을 정리한 글입니다. (문제시 삭제하겠습니다.) Clean Code(클린 코드) - 교보문고 애자일 소프트웨어 장인 정신 | 나쁜 코드도 돌아는 간다. 하지만 코드가 깨끗하지 못하면 개발 조직은 기어간다. 매년 지저분한 코드로 수많은 시간과 상당한 자원이 낭비된다. 그래야 할 이유 www.kyobobook.co.kr 의도를 분명히 밝혀라 좋은 이름을 지으려면 시간이 걸리지만 좋은 이름으로 절약하는 시간이 훨씬 더 많다. 변수나 함수 그리고 클래스 이름은 다음과 같은 굵직한 질문에 모두 답해야 한다. 변수(혹은 함수나 클래스)의 존재 이유는? 수행 기능은? 사용 방법은? 따로 주석이 필요하다면 의도를 분명히 드러내지 못했다는 말이다. 의도가 드러나는 이름을 사용하면 코드 이해와 ..