코드가 존재하리라
- 코드를 자동으로 생성하는 시대가 다가온다고 하더라도 앞으로 코드가 사라질 가망은 전혀 없다!
- 코드는 요구사항을 표현하는 언어이기 때문에 요구사항에 더욱 가까운 언어를 만들 수도 있고,
요구사항에서 정형 구조를 뽑아내는 도구를 만들 수도 있다. 하지만 어느 순간에는 정밀한 표현이 필요하다.
그 필요성을 없앨 방법은 없다. 그러므로 코드도 항상 존재하리라.
나쁜 코드
- 우리는 나쁜 코드를 헤쳐나간다. 엉킨 덩굴과 숨겨진 함정으로 가득한 늪지를 힘겹게 헤쳐나간다.
단서나 실마리를 찾으려 발버둥치지만 소용이 없다. 그 앞에는 무의미한 코드만 끝없이 펼쳐진다. - 우리 모두는 자신이 짠 쓰레기 코드를 쳐다보며 나중에 손보겠다고 생각한 경험이 있다.
우리 모두는 대충 짠 프로그램이 돌아간다는 사실에 안도감을 느끼며
그래도 안 돌아가는 프로그램보다 돌아가는 쓰레기가 좋다고 스스로를 위로한 경험이 있다.
다시 돌아와 나중에 정리하겠다고 다짐했었다. 물론 그때 그 시절 우리는 르블랑의 법칙을 몰랐다. 나중은 결코 오지 않는다.
나쁜 코드로 치르는 대가
- 시간이 지나면서 쓰레기 더미는 점점 높아지고 깊어지고 커진다. 청소할 방법이 없다. 불가항력이다.
- 나쁜 코드를 양산하면 기한을 맞추지 못한다.
기한을 맞추는 유일한 방법은, 그러니까 빨리 가는 유일한 방법은, 언제나 코드를 최대한 깨끗하게 유지하는 습관이다.
깨끗한 코드란?
- 우아하고 효율적인 코드
- 잘 쓴 문장처럼 읽혀야 한다.
- 다른 사람이 고치기 쉬워야 한다.
- 테스트 케이스가 존재한다.
- 코드가 문학적이어야 한다.
- 주의 깊게 짰다는 느낌을 준다.
- 중복을 피하라.
- 한 기능만 수행하라.
- 제대로 표현해라.
- 작게 추상화하라.
- 짐작한 기능을 각 루틴이 그대로 수행한다.
- 깨끗한 변수 이름, 깨끗한 함수, 깨끗한 클래스.
'Java-Spring > 클린 코드' 카테고리의 다른 글
[클린 코드] 6장. 객체와 자료 구조 (0) | 2023.02.27 |
---|---|
[클린 코드] 5장. 형식 맞추기 (0) | 2023.02.26 |
[클린 코드] 4장. 주석 (0) | 2023.02.26 |
[클린 코드] 3장. 함수 (0) | 2023.02.24 |
[클린 코드] 2장. 의미 있는 이름 (0) | 2023.02.22 |