Skip to main content Link Menu Expand (external link) Document Search Copy Copied

정철웅 멘토님 클린코드 멘토링

인풋 대비 아웃풋을 늘려주는 것이 엔지니어링

엔지니어 vs 코더 -> 설계 vs 벽돌 나르기 order vs 코더 -> 커뮤니케이션 원활, 많은 사람들이 쓰고 사회적으로 긍정적 영향력을 만들어 내는 SW

클린코딩의 궁극적 목적 -> 가치 있는 소프트웨어

좋은 개발자는 사람이 이해할 수 있는 코드를 쓴다.

엔지니어는 설득도 할 수 있어야 한다.

결함이 없으면 먹고 살 수 없다.ㅋ 유지보수가 80퍼이다.

모든걸 퍼펙트하게 맞출 수 없다. 실패하더라도 좋게 생각해라. 어떤 기간, 어떤 비용, 어떤 문제 해결 -> 과하게 욕심내면 망한다.

어느 정도 프리징 requirement를 해야한다.

클린 코드

  • 나중에 내가 봐도 잘 쓸 수 있도록 만들어라.
  • 다른 사람이 잘 이해할 수 있느냐가 기준이다.
  • 유지보수에서 지저분한 코드가 문제를 일으킨다.
  • 설계를 하지 않는 사람이 코드다. 생각하는 것이 엔지니어, 설계가 없더라도 클린 코드가 가능하지만 복잡해지면 아닐 가능성이 높다.
  • 설계가 없으면 rework이 많다.
  • 클린코드는 항상 상대적이다.

코드에 의미부여

  • 변수
  • 함수, 메소드
  • 고유성 부여
  • 유사한 명칭을 사용X

코드 객체 명칭

  • 첨자: 대문자 O, L 회피(숫자 0, 1, i의 대문자와 혼선)
  • 클래스명칭
    • 명사와 명사구 적합
    • Manager
  • 메소드/함수 명칭
    • 동사/동사구 적합
    • get, set, is 등 접근자 추가
  • 독특한 어휘 사용지양, 일관성 잇는 어휘 사용

함수/메소드 만들기

  • 함수는 작게 만든다.
  • 함수는 한 가지를 잘 해야한다.

주석 달 때, 결과의 예제를 주면 가장 강력하다.

  1. 가이드
  2. 가이드를 만들 수 있는 템플릿
  3. 가이드에 대한 예제