////
Search
Duplicate
💻

13. 코드 분량 줄이기

프로그래머가 배워야 하는 가장 중요한 기술은 코딩을 언제해야 하는지 아는 것이다.
우리가 작성하는 코드는 모두 테스트하고 유지보수해야 한다.
가장 읽기 쉬운 코드는 읽을 것이 없는 코드다.

그 기능을 구현하려고 애쓰지 마라 - 그럴 필요가 없다.

구현에 초점을 맞추지 말자. 코드는 구현으로 끝나지 않는다.
유지보수되어야 하며 문서를 만들고 관리하며 나중엔 리팩토링해야 한다. 비용이 많이 드는 작업이다.

요구사항에 질문을 던지고 질문을 잘게 나누어 분석하라

주어진 요구사항을 잘 분석한다면 적은 코드로도 구현할 수 있게끔 문제를 정의할 수 있다.
너무 과하게 생각하지 말라는 뜻이다. 실행될 환경, 요구사항을 적절히 고려해서 과하게 자원을 낭비하지 않도록 하자.
요구사항을 가지치기하는 것과 간단한 문제를 해결하는 것이 주는 이점은 매우 중요하다.

코드베이스를 작게 유지하기

생산성을 유지하는 좋은 방법 중 하나는 코드베이스를 작게 유지하는 것이다.
코드의 양이 많아질수록 복잡도가 올라가고 코드 간의 의존성이 높아지므로 생산성이 낮아질 수 밖에 없다.
일반적인 유틸리티를 많이 만들어 중복된 코드를 제거하라.
사용하지 않는 코드 혹은 필요없는 기능을 제거하라.
프로젝트가 서로 분절된 하위프로젝트로 구성되게 하라.
코드베이스의 무게를 항상 의식하여 가볍고 날렵하게 유지시켜라.

자기 주변에 있는 라이브러리에 친숙해져라

프로그래머는 해결해야하는 문제를 이미 라이브러리에서 해결해두었을 것을 종종 잊어버리고는 한다.
매일 15분씩 표준 라이브러리에 있는 모든 함수/모듈/형들의 이름을 읽어라.
바퀴를 재발명할 필요없이 간단하고도 다른 사람들도 이해하기 쉽게끔 코드를 짤 수 있게 도와줄 것이다.

요약

이 장에서는 가급적이면 작은 코드로 작성하는 방법을 배웠다.
새로 작성하는 코드는 모두 테스트하고 문서화하고 유지보수해야한다. 코드를 작성하는 것만으로 끝이 아니다.
더욱이 코드베이스에 코드가 많아진다면 더 무거워져 생산성이 저하된다.
다음과 같은 방법으로 새로운 코드를 작성하는 일을 피할 수 있다.
제품에 꼭 필요하지 않는 기능을 제거하고 과도한 작업을 피한다.
요구사항을 다시 생각해서 가장 단순한 형태의 문제를 찾아본다.
주기적으로 라이브러리 전체 API를 훑어봄으로써 표준 라이브러리에 친숙해진다.