-
읽기 좋은 코드가 좋은 코드다. - 10 상관없는 하위문제 추출하기Book 2023. 9. 23. 10:22
일반적인 목적의 코드
프로그램을 이루는 코드 중 일반적인 목적을 갖는 코드는 따로 (함수든 클래스로든) 분리하라. 분리된 코드는 상위 수준의 목적(=해당 코드를 호출한 프로그램은 목적)은 몰라도 된다.
순수 유틸리티 코드
일반적인 목적을 갖는 코드를 모아 유틸리티 코드를 만들 수도 있다. → 나중에 다른 프로그램에서 얼마든지 재사용 가능
특정한 프로그램을 위한 기능
꼭 일반적인 목적이 아니라도 상위 수준의 목적을 굳이 알 필요 없는 코드라면 분리하라. 분리된 코드의 위치는 중요X 분리되었다는 것이 중요☆
기존의 인터페이스 수정
기존에 제공되던 인터페이스를 필요에 맞추어 분리하거나 수정하라. 분리 및 수정이 불가능하다면 해당 인터페이스를 감싸는 wrapper 코드를 만드는 방법도 있음.
지나친 분리 지양
너무 잘게 쪼개진 코드는 오히려 가독성을 헤친다. 함수 추가는 가독성 비용을 증가하는 일. 재사용성과 가독성 사이의 균형을 고려하며 분리하자.
배운 점
학부 때 함수는 최대한 작게 만드는 것이라 배웠는데 그 이유를 명확히 알게 되었다. 더불어 wrapper 코드를 왜 쓰는지도.
코드를 쪼개는 기준을 잡을 수 있게 되어 코드 작성에 고민을 줄일 수 있다.
분리된 코드의 함수명을 지을 때에는 이전 Part에서 배운 내용을 적용하여 굳이 함수 내부를 들여다 보지 않아도 코드가 이해되도록 가독성에 신경을 써야겠다.
'Book' 카테고리의 다른 글
[Django][TDD] 클린 코드를 위한 테스트 주도 개발 - 1부 요약 정리 (0) 2025.03.15 [클론코딩] 예제로 배우는 Django 4: 블로그 (1) #책과_현실_다른_점_찾기 (0) 2025.01.31 읽기 좋은 코드가 좋은 코드다. - 09 변수와 가독성 (0) 2023.09.17 [CS][읽는 중]혼자 공부하는 컴퓨터구조 + 운영체제 (0) 2023.08.23 [Django] 배프의 오지랖 파이썬 웹프로그래밍 (0) 2023.08.14