개발자 99% 커뮤니티에서 수다 떨어요!
TIL (Today I Learned)
2022.03.01
오늘 읽은 범위
5장 형식 맞추기
책에서 기억하고 싶은 내용을 써보세요.
한 함수가 다른 함수를 호출한다면 두 함수는 세로 가까이 배치한다. 또한 가능하다면 호출하는 함수를 호출되는 함수보다 먼저 배치한다. 그러면 츠로그램이 자연스럽게 읽힌다. 규칙을 일관적으로 적용한다면 독자는 방금 호출한 함수가 잠시 후에 정의되리라 는 사실을 예측한다.
정렬이 필요할 정도로 목록이 길다면 문제는 목록 길이이지, 정렬 부족이 아니다. 아래 코드처럼 선언부가 길다면 클래스를 쪼개야 한다는 의미다.
이렇듯 범위로 이뤄진 계층을 표현하기 위해 우리는 코드를 들여쓴다. 들여쓰는 정도는 계층에서 코드가 자리잡은 수준에 비례한다. 클래스 정의처럼 파일 수준인 문장은 들여쓰지 않는다. 클래스 내 매서드는 클래스 보단 한 수준 들여쓴다. 메서드 코드는 메서드 선언보다 한 수준 들여쓴다. 블록 코드는 블록을 포함하는 코드보다 한 수준 들여쓴다.
좋은 소프트웨어 시스템은 읽기 쉬운 문서로 이뤄진다는 사실을 기억하기 바란다.
스타일은 일관적이고 매끄러워야한다. 한 소스 파일에서 봤던 형식이 다른 소스 파일에도 쓰이리라는 신뢰감을 독자에게 줘야 한다. 온갖 스타일을 뒤섞어 소스 코드 필요 이상으로 복잡하게 만드는 실수는 반드시 피한다.
오늘 읽은 소감은? 떠오르는 생각을 가볍게 적어보세요
코드의 세로 줄 정렬, 가로 줄 정렬 같은 것은 코드에서 별로 중요하지 않은 부수적인 개념이라고 생각했다 하지만, 코드를 보기 좋게 가독성을 높일 수 있는 또 다른 방법이란 것을 알게 되었다. 자바스크립트 사용자라서 자바의 클래스를 정확히 이해하고 있지 않지만, 정렬에 대해서 고민해보고 해당 코드가 너무 복잡하진 않은지 나눠야할 지에 대해서 점검해봐야겠다는 생각이 들었다.
궁금한 내용이 있거나, 잘 이해되지 않는 내용이 있다면 적어보세요.
자바 클래스