원칙 1: 큰 그림을 생각하라
- 파일과 모듈들이 각각 모두 필요한가? 앙니면 일부는 합쳐서 코드 간의 상호 의존성을 줄일까?
- 크고 복잡한 파일을 두 개의 단순한 파일로 분리할까? 두 극단 사이에는 최적화 지점이 있음을 주목하세요. 완전히 읽기 불가능한 거대한 모놀리식 코드 블록과 반대편은 정신적으로 추적이 불가능할만큼 수많은 작은 코드 조각들, 어느 것도 바람직하지 않으며 그 중간 어딘가가 최적입니다. 역 U자형 곡선을 생각해보세요. 최고점은 몇 개의 큰 코드 블록과 다수의 작은 코드 블록들이 혼합된 최적 지점입니다.
- 코드를 일반화하여 라이브러리로 만들어 응용 프로그램의 메인 코드를 단순화 할까?
- 라이브러리를 사용하여 내 코드의 라인 수를 줄일까?
- 동일한 결과를 중복 계산하지 않도록 캐시를 도입할까?
- 현재의 알고리즘과 동일한 결과가 나오는 좀 더 단순하고 적절한 알고리즘으로 교체할까?
- 전체 성능 향상에 도움이 되지 않는 성급한 최적화를 제거할 수 있을까?
- 현재의 문제들에 좀 더 적합한 다른 프로그래밍 언어를 도입해볼까?
큰 그림 사고는 응용 프로그램 전체의 복잡성을 극적으로 줄여주는 시간 효율적인 방법입니다.
때때로 서로 간섭하는 협업들로 인해 개발 프로세스의 후반보에는 이러한 변경이 어려울 수 있습니다.
단순히 이러한 질문들을 완전히 무시하면 안되는 이오ㅠ는 작은 변경점들만 가지고는 잘못된 혹은 게으른 설계의 결함들을 해결할 수 없기 때문입니다.
응용 프로그램의 규모가 커질수록 대담한 결정보다는 쉽게 수정하거나 어렵지 않은 해결 방안을 채택할 확률이 높아집니다.
'좋은 글' 카테고리의 다른 글
흔들리며 사는 것이 인생이다 (4) | 2024.07.15 |
---|---|
살다보면 이런 때도 있습니다 (1) | 2024.07.15 |
가슴은 뜨겁게 머리는 차갑게 (0) | 2023.09.12 |
말의 침묵 (0) | 2023.09.12 |
인간은 강물처럼 흐르는 존재이다 (0) | 2023.09.12 |