Clean Code_1장. 깨끗한 코드
#노마드코더 #북클럽 #노개북
TIL (Today I Learned)
이 책의 저자가 깨끗한 코드에 대해 어떻게 정의하고 있는지 알았다.
오늘 읽은 범위
1장. 깨끗한 코드
책에서 기억하고 싶은 내용을 써보세요.
실제 내용은 더 길지만 핵심적이라고 생각되는 부분만 요약한 내용입니다.
비야네 스트롭스트룹(C++ 창시자)
의존성을 최대한 줄여야 유지 보수가 쉬워진다. 깨끗한 코드는 한 가지를 제대로 한다.
그래디 부치(Object Oriented Analysis and Design with Application 저자)
깨끗한 코드는 단순하고 직접적이다.
빅 데이브 토마스(OTI 창립자이자 이클립스 전략의 대부)
깨끗한 코드는 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다. 단위 테스트 케이스와 인수 테스트 케이스가 존재한다.
마이클 페더스 (Working Effectively with Legacy Code 저자)
깨끗한 코드는 주의 깊게 짰다는 느낌을 준다.
론 제프리스 (Extreme Programming Installed와 Extreme Programming Adventure in C# 저자)
켄트 벡이 제안한 단순한 코드 규칙으로 구현을 하는데 간단한 코드란 다음과 같다.
- 모든 테스트를 통과한다.
- 중복이 없다.
- 시스템 내 모든 설계 아이디어를 표현한다.
- 클래스, 메서드, 함수 등을 최대한 줄인다.
중복 줄이기, 표현력 높이기, 초반부터 간단한 추상화 고려하기. 이 세 가지가 깨끗한 코드를 만드는 비결이다.
워드 커닝햄 (위키 창시자, 피트 창시자, 익스트림 프로그래밍 공동 창시자 등)
깨끗한 코드는 코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다. 코드가 그 문제를 풀기 위한 언어처럼 보인다면 아름다운 코드이다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
책의 제목인 Clean Code (깨끗한 코드)를 소프트웨어의 대가들이 어떻게 정의하고 있는 지에 대해 살펴보았다.
짧은 문장으로 정의한 사람도 있고, 아주 긴 문장으로 설명한 사람도 있지만 공통적으로 잘 설계되고, 유지 보수가 쉽고, 다른 사람이 읽기에 편해야 한다는 말을 하는 것 같다.
클린 코드에 대한 글도 찾아보고, 다른 개발자들의 의견도 들어보고, 또 이 책을 봤을 때도 클린 코드를 만드는 방법에 대해 너무 집착할 필요 없다는 것이다. 이 책에서 앞으로 소개 될 클린 코드를 만들기 위한 내용들은 정석같은 내용들이지만 그렇다고 이것을 100% 받아들일 필요는 없다는 생각이다. 또한 이 책을 읽고 끝내는 것이 아니라 실제로 적용해보며 연습 해야겠다는 생각이 들었다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
이 책의 코드들은 자바로 작성되었는데 자바는 객체 지향 언어의 대표적인 언어이지만 함수형 프로그래밍 언어라던가 절차지향 언어 등 다른 특성을 가지는 언어들에도 그대로 적용할 수 있는지 궁금하다.