Notice
Recent Posts
Recent Comments
Link
코드로 우주평화
원활한 소통을 장려하는 코드 형식은 무엇일까? 본문
반응형
제목 : 클린 코드
저자 : 로버트 C. 마틴
범위 : 5장 형식 맞추기
기억하고 싶은 것
- '돌아가는 코드'가 전문 개발자의 일차적인 의무라 여길지도 모르겠다. 하지만 이 책을 읽으면서 생각이 바뀌었기 바란다.
- 오늘 구현한 코드의 가독성은 앞으로 바뀔 코드의 품질에 지대한 영향을 미친다.
- 원활한 소통을 장려하는 코드 형식은 무엇일까?
- 대부분 200줄 정도인 파일로도 커다란 시스템을 구축할 수 있다.
- 신문기사 처럼 작성하라
- 소스 파일 첫 부분은 고차원 개념과 알고리즘을 설명한다.
- 아래로 내려갈수록 의도를 세세하게 묘사한다.
- 마지막에는 저차원 함수의 세부 내역이 나온다.
- 개념은 빈 행으로 분리하라.
- 타당한 근거가 없다면 서로 밀집한 개념은 한 파일에 속해야 마땅하다.
- 연관성이란 한 개념을 이해하는 데 다른 개념이 중요한 정도다.
- 변수는 사용하는 위치에 최대한 가까이 선언한다.
- 지역 변수는 각 함수 맨 처음에 선언한다.
- 루프 직전에 선언할 수도 있다.
- 인스턴스 변수는 클래스 맨 처음에 선언한다.
- 변수 간에 세로로 거리를 두지 않는다.
- 종속 함수는 세로로 가까이 배치한다.
- 호출하는 함수를 위에 호출되는 함수를 그 아래에 배치한다.
- 개념적 유사성 - 친화도가 높을수록 코드를 가까이 배치한다.
- 종속성, 변수와 변수를 사용하는 함수, 유사한 기능의 함수, 유사한 명명법 등
- 가로로는 공백을 사용해 밀접한 개념과 느슨한 개념을 표현한다.
- 개인적으로는 120자 정도로 행 길이를 제한한다.
- 팀 규칙
- 팀은 한 가지 규칙에 합의해야 한다. 그래야 소프트웨어가 일관적인 스타일을 보인다.
- 개개인이 따로국밥처럼 맘대로 짜대는 코드는 피해야 한다.
- 좋은 소프트웨어 시스템은 읽기 쉬운 문서로 이뤄진다는 사실을 기억하기 바란다.
- 한 소스 파일에서 봤던 형식이 다른 소스 파일에도 쓰이리라는 신뢰감을 독자에게 줘야 한다.
떠오르는 질문
- 형식을 내가 직접 만들고 자동화할 수 있을까?
VSC의 경우 EditorConfig를 사용하여 규칙을 만들 수 있다!
하고 싶은 말
- 코드 자체가 표준 문서가 되도록 코딩하자.
- 기존에 짰던 코드들을 다시 돌아보면 엉망진창인 것들이 많다. 내일 꼭 리펙토링해보자!
- 앞으로는 내 코드 스타일이 일관적으로 보여질 수 있도록 작성하자.
레퍼런스
반응형
'나는 이렇게 본다 > Clean Code' 카테고리의 다른 글
주석은 언제나 실패를 의미한다. (0) | 2022.01.31 |
---|---|
함수를 어떻게 짜죠? (0) | 2022.01.28 |
의미 있는 이름 (0) | 2022.01.26 |
깨끗한 코드야말로 더 빨리 가는 유일한 방법 (0) | 2022.01.23 |
소프트웨어는 80% 이상이 '유지보수'다 (0) | 2022.01.22 |