나는 이번 시리즈를 책의 순서대로 소개해보려 한다.
책의 모든 내용을 소개하진 않을 것이고 내 마음에 남았던 부분만을 적어볼 예정이다.
먼저, 이 책은 신기하게도 내가 가장 관심있어하던 부분을 위한 빌드업부터 시작한다.
정말 놀라웠던 문장은 내가 어느 유튜브에서 보고 깊게 공감했던 내용이었는데 아래와 같다.
코딩도 결국 글쓰기와 같다.
솔직히 말하면 어떤 다른 문장도 이 문장을 이길 수 없을 것이다.
모든 문장을 대변하는 한 줄이다.
이 다음은 글쓰기 기본에 대해 소개하고 있는데,
글의 독자가 누구인지, 그에 따라 문장이 어떻게 구성되어야 하는지 생각해야 한다.
특히 개조식 글에는 글머리 기호를 써야한다.
다들 아는 네모나 동그라미 등이 예시일 것이다.
같은 챕터에서 글쓰기와 코드를 작성할 때 어떤 원칙을 지켜야 하는지 소개하고 있다.
코드를 작성할 때 쉼표는 앞 낱말에 붙어야 한다.
data class Book (
var name,
var author,
)
위처럼 작성되어야 하고, 쉼표가 다음 줄로 내려오면 안된다.
띄어쓰기의 경우에는 간단한 예로 함수 선언이 있다.
fun hello(arg1, arg2) // 좋은 예
fun hello( arg1, arg2 ) // 안 좋은 예
위의 예처럼 띄어쓰기의 기존 컨벤션을 지켜야 한다.
작은 따옴표('')와 큰 따옴표("")의 사용에 대해서도 다루고 있지만 나는 해당사항이 없어 넘어가도록 하겠다.
그리고, 내가 고려하던 문제에 대해 설명하는데 그것은 바로 영단어 선택이다.
특히 함수명을 지을 때 이런 딜레마에 빠지곤 하는데
finish, stop, end 등 비슷한 뜻을 가진 동사 중 어떤 것을 선택해야 하는 지가 대표적이다.
당연하게도 return과 같은 키워드는 사용하면 안된다.
결이 비슷하면서도 더 포괄적인 네이밍 컨벤션에 대해서도 소개한다.
무릇 본인의 코드에 대해 고민하는 개발자라면 변수, 함수, 클래스 등 본인이 작성하는 모든 이름에 대해 고민이 클 것이다.
게다가 주석도 최대한 조금 작성하고 싶을 것이다.
이름을 지을 때, 우리는 무에서 유를 창조하는 것이 아니라
라이브러리를 사용하듯이 기존 방식과 이름을 차용해서 이름을 짓는 경우가 많다.
- 자바 네이밍 컨벤션을 준수한다.
- 클래스는 UpperCamel Case(Pascal Case)
- 함수와 변수는 lowerCamel Case
- 상수는 UPPER_DELIMITER_CASE
- 네이밍은 보통 3단어를 조합
- 품사는 주로 명사, 동사, 형용사의 조합이다.
- 명사 + 명사 + 명사(동료가 빌려준 책에 남긴 주석에 의한 예론 userInput)
- 동사 + 명사 + 명사(동료가 빌려준 책에 남긴 주석에 의한 예론 getInstance)
- 형용사 + 명사 + 명사 등
사실 위에서 적은 3가지 규칙은 모두 절대적이지 않다.
컨벤션이라는 것을 만든 이유 자체가 가독성과 소통을 위해서이기에
같은 프로젝트에 관련된 개발자끼리는 코딩 전 기본적인 컨벤션 규칙을 정하는 것이 우선이다.
(최근 유튜브에서 퇴사한 SI개발자 인터뷰를 보았는데 해당 개발자는 회사 내에 코드 검증 팀이 있어
해당 팀에서 본인이 작성한 코드는 어떤 부분이 컨벤션에 위배되는 지 피드백을 해주었다고 한다.)
변수와 함수 이름을 지을 때 필요한 규칙에 대해 다음 글에서 이어가보도록 하겠다.
'주저리주저리' 카테고리의 다른 글
개발자의 글쓰기를 읽고 나서(3) (0) | 2023.08.18 |
---|---|
개발자의 글쓰기를 읽고 나서(2) (0) | 2023.08.17 |
디지털 세계에서 아날로그의 중요성 (0) | 2023.08.10 |
개발자 글쓰기의 중요성 (0) | 2023.06.27 |
최근 느낀 일할 때 하지 말아야 할 것 (0) | 2023.05.25 |