클린 코드 - 1. 깨끗한 코드

이정우·2021년 7월 9일
0

Clean Code

목록 보기
1/10
post-custom-banner

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

📌 프로그래밍

  • 기계가 실행할 정도로 요구사항을 상세하게 명시하는 작업
  • 명시한 결과를 코드라고 부름

📌 나쁜 코드

르블랑의 법칙(Leblanc’s Law) : 나중은 결코 오지 않는다.

  • 개발 속도의 저하 → 코드를 고칠 때마다 다른 곳에서 문제가 발생하여 더욱 더 나쁜 코드가 됨
  • 팀 생산성의 저하 → 생산성이 떨어져 새로운 인력을 투입해도 코드에 대한 이해도가 낮아 결국 나쁜 코드를 생성함
  • 재설계? → 새로운 팀이 기존 기능과 추가 기능을 가진 시스템을 개발하기 시작하나, 모두 구현할 때가 되면 그렇게 새로 만들어진 시스템의 코드 역시 더러운 것을 발견할 수 있음
  • 상사의 요청 → 나쁜 코드의 위험성을 이해하지 못하는 상사의 말을 듣는 것은 전문가답지 못함
  • 업무 속도를 높이기 위해서는 코드를 깨끗하게 유지하는 습관이 필요함

📌 좋은 코드

🎈 비야네 스트롭스트룹(Bjarne Stroustrup) - C++ 창시자

  • 우아하고 효율적인 코드
  • 의존성을 최대한 줄이고 오류는 철저하게 처리
  • 성능을 최적으로 유지
  • 코드를 망치려는 유혹 → 나쁜 코드는 또다른 나쁜 코드를 만들어냄

🎈 그래디 부치(Grady Booch)

  • 단순하고 직접적이며 잘 쓴 문장처럼 읽힘 → 가독성이 좋음
  • 설계자의 의도를 숨기지 않고 명쾌한 추상화와 단순한 제어문으로 가득함 → 반드시 필요한 내용만 담아야 함

🎈 데이브 토마스(Dave Thomas)

  • 다른 사람도 읽고 고치기 쉬움
  • 여러 테스트 케이스가 존재 → Test Driven Development
  • 메소드나 의존성, API는 명확하며 최소화
  • 코드는 문학적으로 표현

🎈 마이클 페더스(Michael Feathers)

  • 주의 깊게 짰다는 느낌을 받음

🎈 론 제프리스(Ron Jeffries)

  • 중복을 최소화
  • 한 가지 기능만 수행
  • 제대로 표현하며 작게 추상화

🎈 워드 커닝햄(Ward Cunningham)

  • 깨끗한 코드 : 짐작했던 기능을 그대로 수행하는 코드
  • 아름다운 코드 : 코드가 문제를 풀기 위한 언어로 보이면
post-custom-banner

0개의 댓글