자바/클린 코드

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

끄적끄적 2022. 4. 14. 17:52

코드가 존재하리라

  • 혹자는 코드를 자동으로 생성하는 시대가 올 거라는 말과 함께, 모델이나 요구사항에 집중해야 한다고 얘기한다.
  • 프로그래밍 언어의 추상화 수준은 점차 높아지겠지만, 요구사항을 상세하게 명시하여 기계가 이해하고 실행할 정도로 정확하고 상세하게 정형화하는 코드는 없어질 수 없다.
  • 모호한 요구사항에서 정형화된 표현과 제대로 명시된 요구사항을 뽑아내는 것은 개발자의 역할이다.

 

나쁜 코드

  • 나쁜 코드는 개발 속도를 크게 떨어뜨린다. 코드를 고칠 때마다 엉뚱한 곳에서 문제가 생기기 때문이다. 팀의 생산성은 계속해서 떨어진다. 이에 새로운 인력을 추가로 투입하지만, 새 인력은 나쁜 코드를 더 양산하며 결국 생산성은 거의 0이 된다.
  • 이에 대해, 새로 차세대 프로젝트를 시작하지만, 기존 시스템에서 계속해서 추가되는 기능을 따라잡지 못해 결국 오픈은 힘들다. 결국 처음부터 제대로 깨끗한 코드를 만드는 것만이 답이다.
  • 사업/관리자가 급하다고 얘기한다고 나쁜 코드를 만드는 것은 "수술실 의사가 환자가 급하니까 손을 씻지말라고 한다고 손을 안씻는 것"과 같다. 나쁜 코드의 위험을 이해하지 못하는 관리자의 말을 따르는 것은 전문가답지 못하다.

 

클린코드란

  • 나는 우아하고 효율적인 코드를 좋아한다. 논리가 간단해야 버그가 숨어들지 못한다. 의존성을 최대한 줄여야 유지보수가 쉬워진다. 오류는 명백한 전략에 의거해 철저히 처리한다. 성능을 최적으로 유지해야 사람들이 원칙없는 최적화로 코드를 망치려는 유혹에 빠지지 않는다. 깨끗한 코드는 한 가지를 제대로 한다. - Bjarne Stroustrup
  • 클린코드 : 읽기 쉬운 코드, 전달하고자 하는 바를 명확하게 알려주는 코드, 개발자의 의도가 모두 담겨있는 코드라고 할 수 있다.
  • 코드를 작성하는 시간보다 코드를 읽는 시간이 훨씬 많다. 심지어 코드를 작성하는 순간에도 기존 코드를 읽는 시간이 대부분이다.
     
반응형