-
읽기 좋은 코드가 좋은 코드다. - 09 변수와 가독성Book 2023. 9. 17. 07:17
Part 2. 루프와 논리를 단순화하기
2023.09.15
09 변수와 가독성
변수 사용 줄이기
- 선언된 변수가 많을수록 코드를 읽는 사람이 기억해야 할 내용이 늘어남.
- 단순히 중간 계산 값을 저장하는 변수, 흐름 제어 변수는 사용 지양. 계산 결과는 바로 리턴할 것.
- 설명 변수, 요약 변수 사용에 너무 치중하여 변수를 남발하지 말 것. 멤버 변수 or 메서드의 모양 자체로 설명이 충분할 경우 굳이 설명 변수로 치환할 필요 없음. ex) datetime.datetime.now(): 현재 시간 값이라는 의미 충분. 굳이 now_time 등의 변수로 대입할 필요 없음.
변수의 범위 좁히기
- 전역 변수 사용 남발 지양(클래스 멤버 면수도 마찬가지): 변수의 사용 범위가 길수록 = 변수가 선언된 줄과 재등장하는 줄이 멀리 떨어져 있을수록 코드 가독성이 떨어진다. 시선이 위 아래로 바쁘게 이동해야 함. or 기억해야 할 정보가 많아짐. → 지역 변수로 강등
- 이해안되는 구문
많은 메소드를 정적 static 으로 만들어 클래스 멤버 접근을 제한하라. 가급적 정적 메소드는 읽는 사람에게 ‘이 코드는 변수들로부터 독립적’ 이라는 사실을 알려주는 매우 좋은 방법이다.
내가 자주 사용하는 파이썬에는 static 개념이 없거니와, c++이나 java 사용 시 static 사용 경험이 적어 위 문장에 대한 이해가 부족함.
- 특정 코드 블록({…})에서만 사용되는 변수의 선언은 가능한 해당 블록 안에서 할 것: 읽는 사람으로 하여금 해당 변수를 기억해야 하는 사용 범위를 암시하는 효과 ex) c++은 if문 의 조건식에서 변수 선언 가능, javascript는 클로저 내부에서 변수 선언 가능. 단, javascript의 경우 특정 블록 안에서 선언된 변수일지라도 var 키워드가 없으면 전역 변수가 된다.(주의!)
- 파이썬과 자바스크립트에는 코드 블록 개념이 없어서 if문 같은 제어문 안에서 선언된 변수일지라도 블록 바깥에서도 사용 가능. → 오류 발생 확률 up, 읽는 사람에게 혼란 가중. → 변수 선언은 최대한 제어문 바깥에서. + 가능하다면 변수 선언을 생략하는 방향으로.
변수 값 변경 최소화
- 변수가 상수에 가까운 사용 양상일수록 변수 값을 기억하기 쉬움.
https://www.yes24.com/Product/Goods/6692314
읽기 좋은 코드가 좋은 코드다 - 예스24
이 책은 매우 읽기 편한 코드를 작성하는 방법을 설명한다. 이 책을 관통하는 핵심 아이디어는 `코드는 이해하기 쉬워야 한다`는 것이다. 자신의 코드를 다른 사람이 읽고 이해할 때 걸리는 시간
www.yes24.com
'Book' 카테고리의 다른 글
[클론코딩] 예제로 배우는 Django 4: 블로그 (1) #책과_현실_다른_점_찾기 (0) 2025.01.31 읽기 좋은 코드가 좋은 코드다. - 10 상관없는 하위문제 추출하기 (0) 2023.09.23 [CS][읽는 중]혼자 공부하는 컴퓨터구조 + 운영체제 (0) 2023.08.23 [Django] 배프의 오지랖 파이썬 웹프로그래밍 (0) 2023.08.14 [Java][읽는 중] MustHave 이재환의 자바 프로그래밍 입문 (0) 2023.08.14