정철웅 멘토님 클린코드 멘토링
인풋 대비 아웃풋을 늘려주는 것이 엔지니어링
엔지니어 vs 코더 -> 설계 vs 벽돌 나르기 order vs 코더 -> 커뮤니케이션 원활, 많은 사람들이 쓰고 사회적으로 긍정적 영향력을 만들어 내는 SW
클린코딩의 궁극적 목적 -> 가치 있는 소프트웨어
좋은 개발자는 사람이 이해할 수 있는 코드를 쓴다.
엔지니어는 설득도 할 수 있어야 한다.
결함이 없으면 먹고 살 수 없다.ㅋ 유지보수가 80퍼이다.
모든걸 퍼펙트하게 맞출 수 없다. 실패하더라도 좋게 생각해라. 어떤 기간, 어떤 비용, 어떤 문제 해결 -> 과하게 욕심내면 망한다.
어느 정도 프리징 requirement를 해야한다.
클린 코드
- 나중에 내가 봐도 잘 쓸 수 있도록 만들어라.
- 다른 사람이 잘 이해할 수 있느냐가 기준이다.
- 유지보수에서 지저분한 코드가 문제를 일으킨다.
- 설계를 하지 않는 사람이 코드다. 생각하는 것이 엔지니어, 설계가 없더라도 클린 코드가 가능하지만 복잡해지면 아닐 가능성이 높다.
- 설계가 없으면 rework이 많다.
- 클린코드는 항상 상대적이다.
코드에 의미부여
- 변수
- 함수, 메소드
- 고유성 부여
- 유사한 명칭을 사용X
코드 객체 명칭
- 첨자: 대문자 O, L 회피(숫자 0, 1, i의 대문자와 혼선)
- 클래스명칭
- 명사와 명사구 적합
- Manager
- 메소드/함수 명칭
- 동사/동사구 적합
- get, set, is 등 접근자 추가
- 독특한 어휘 사용지양, 일관성 잇는 어휘 사용
함수/메소드 만들기
- 함수는 작게 만든다.
- 함수는 한 가지를 잘 해야한다.
주석 달 때, 결과의 예제를 주면 가장 강력하다.
- 가이드
- 가이드를 만들 수 있는 템플릿
- 가이드에 대한 예제