Clean Code 클린 코드 : 깨끗한 코드

Yuri Lee·2021년 4월 27일
0

Clean Code 클린 코드

목록 보기
2/3

코드가 존재하리라

  • 코드는 요구사항을 표현하는 언어라는 사실을 명심한다.

나쁜 코드

  • 프로그래머라면 누구나 나쁜 코드로 고생한 경험이 있다.
    ➡ 예..있습니다

  • 어째서 나쁜 코드를 짰는가?
    ➡ 급해서, 서두르느라, 일정에 촉박해서요..

  • 우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다. 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며 그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다. 다시 돌아와 나중에 정리하겠다고 다짐했었다. (이를 르블랑의 법칙이라고 함). 나중은 결코 오지 않는다.
    ➡ 너무..너무 공감되서 부끄럽다. 차라리 돌아가는 쓰레기가 좋다는 스스로의 위로 🤯

태도

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

깨끗한 코드라는 예술

  • 꺠끗한 코드와 나쁜 코드를 구분할 줄 안다고 깨끗한 코드를 작성할 줄 안다는 뜻은 아니다.
  • 깨끗한 코드를 작성하려면 '청결'이라는 힘겹게 습득한 감각을 활용해 자잘한 기법들을 적용하는 절제와 규율이 필요하다.
  • 깨끗한 코드를 작성하는 프로그래머는 빈 캔퍼스를 우아한 작품으로 바꿔가는 화가와 같다.

깨끗한 코드란?

Bijarne Stroustrup
나는 우아하고 효율적인 코드를 좋아한다.

Grady Booch
깨끗한 코드는 단순하고 직접적이다. 깨끗한 코드는 잘 쓴 문장처럼 읽힌다. 깨끗한 코드는 결코 설계자의 의도를 숨기지 않는다. 오히려 명쾌한 추상화와 단순한 제어문으로 가득하다.

Dave Thomas
깨끗한 코드는 작성자가 아닌 사람도 읽기 쉽고 고치기 쉽다. 단위 테스트 케이스와 인수 테스트 케이스가 존재한다. 깨끗한 코드에는 의미 있는 이름이 붙는다. 특정 목적을 달성하는 방법은 하나만 제공한다.

Michael Feathers
꺠끗한 코드의 특징은 많지만 그 중에서도 모두를 아우르는 특징이 하나 있다. 깨끗한 코드는 언제나 누군가 주의 깊게 짰다는 느낌을 준다.

Ron Jeffries
중복 피하기, 한 기능만 수행, 제대로 표현, 작게 추상화 하는 것

Ward Cunningham
코드를 읽으면서 짐작했던 기능을 각 루틴이 그대로 수행한다면 깨끗한 코드라 불러도 되겠다. 코드가 그 문제를 풀기 위한 언어처럼 보인다면 아름다운 코드라 불러도 되겠다.

보이스카우트 규칙

캠프장은 처음 왔을 때보다 더 깨끗하게 해놓고 떠나라.

  • 체크아웃할 때보다 좀 더 깨끗한 코드를 체크인한다면 코드는 절대 나빠지지 않는다. 한꺼번에 많은 시간과 노력을 투자해 코드를 정리할 필요가 없다. 변수 이름 하나를 개선하고, 조금 긴 함수 하나를 분활하고, 약간의 중복을 제거하고, 복잡한 if문 하나를 정리하면 충분하다.

결론

  • 예술에 대한 책을 읽는다고 예술가가 된다는 보장은 없다. 책은 단지 다른 예술가가 사용하는 도구와 기법, 그리고 생각하는 방식을 소개할 뿐이다. 이 책을 읽는다고 뛰어난 프로그래머가 된다는 보장은 없다.
    ➡ 적용하는 것은 나에게 달려있다!
profile
Step by step goes a long way ✨

0개의 댓글