8 분 소요

TIL (Today I Learned)

2022.02.27(일) ~ 2022.03.01(화)


오늘 읽은 범위

  • 5장. 형식 맞추기 (p.116)


책에서 기억하고 싶은 내용을 써보세요.

코드 형식은 의사소통의 일환으로 중요하다. 코드가 계속 바뀌어도 처음 잡아놓은 구현 스타일과 가독성 수준은 유지보수 용이성확장성에 계속 영향을 미친다.


  1. 신문 기사처럼 작성

    소스 코드 윗 부분 : 고차원 개념, 알고리즘 설명
    소스 코드 아래 부분 : 저차원 개념, 세부 내역


  1. 개행

    수식이나 을 나타내고, 행 묶음완결된 생각 하나를 표현


  1. 세로 밀집도

    서로 밀접한(연관된) 코드 행은 세로로 밀접하게 위치
    단, 서로 다른 파일에 속한다면 제외


  1. 사용하는 위치에 최대한 가깝게 변수 선언


  1. 인스턴스 변수는 클래스 맨 처음에 선언

    단, C++에서는 클래스 마지막에 선언한다. (가위 규칙, scissors rule)
    잘 알려진 위치에 변수를 모은다는 것이 중요!


  1. 호출하는 함수를 호출되는 함수보다 먼저 세로 가까이 배치


  1. 개념적 친화도가 높을수록 코드를 가까이 배치


  1. 공백

    할당 연산자 강조
    연산자 우선순위 강조


  1. 가로 정렬 지양


  1. 들여쓰기

    계층에서 코드가 자리잡은 수준에 비례


팀은 한 가지 규칙합의해야하며, 개인이 맘대로 짜는 코드는 피해야한다.


오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요

코드의 형식은 팀원끼리 합의하에 정하느 규칙인데 이것을 융통성 없이 맹목적으로 따르면 안된다고 첫 부분에 설명하는 점이 이상했다. 합의하에 정해진 규칙은 맹목적으로 지키는 것이 질서를 유지하는데에 중요하다고 생각한다.
C++에서 가로 정렬을 잘 사용하는데 이것을 지양하라고 하는데, 코드를 읽는 과정에서 가로로 정렬되어 선언된 멤버 변수가 더 이해를 빠르게 하는 경우가 있다. 변수의 타입을 몰라도 이름만으로 무엇을 뜻하는지, 어떤 타입인지 알 수 있는 경우에는 가로 정렬을 사용하는 것도 좋은 것 같다.


궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.

  • 코드의 형식을 융통성 없이 맹목적으로 따르면 안되는 이유를 이해할 수 없다.



댓글남기기