Makefile 효과 경계령

3 days ago 3

  • Makefile 효과에 대한 인식

    • Makefile 효과란 복잡하거나 익숙하지 않은 도구를 처음부터 작성하지 않고, 이전에 잘 작동했던 예제를 복사하여 수정하는 현상을 의미함.
    • 이 효과는 다양한 엔지니어들이 Make와 같은 도구를 사용할 때 자주 나타남.
    • 과거에 유사한 작업이 수행된 경우, 엔지니어는 이전의 Makefile을 복사하여 새로운 상황에 맞게 수정함.
  • 문제점과 영향

    • 설계 단계에서의 문제점: 도구가 너무 복잡하거나 처음부터 사용하기 번거로움.
    • CI/CD 구성: GitHub Actions나 GitLab CI/CD에서 YAML 설정을 복사하여 수정하는 경우가 많음.
    • 린터 및 포매터 구성: 기본 규칙 세트를 프로젝트 간에 복사하여 필요에 따라 강화하거나 완화함.
    • 빌드 시스템: 비트리비얼한 모든 것이 이전 빌드 시스템을 닮아감.
  • 이 현상이 중요한 이유

    • 진단 및 디버깅 지원 부족: 도구를 반복적으로 실행해야 하며, 정보가 적게 제공됨.
    • 학습 저해: 일부 전문가만 도구를 잘 알고, 다른 사람들은 최소한의 지식으로 복사하여 수정함.
    • 보안 문제: 보안 작업은 깊은 지식이 필요하며, Makefile 효과가 있는 시스템은 코드와 데이터 간의 혼동을 초래할 수 있음.
  • 도구 설계 시 고려사항

    • 도구가 구성 가능해야 하는지 여부.
    • 자체 문법이 필요한지 여부.
    • 기존 문법이나 관용구를 재사용할 수 있는지 여부.
    • 복사-붙여넣기가 자주 발생하는지 여부.
  • Makefile 효과와 유사한 현상

    • 카고 컬팅이나 일탈의 정상화와 유사하지만, Makefile 효과는 특정 설계의 결과에 관한 것임.
    • Makefile 효과는 본질적으로 비효율적이거나 나쁜 것이 아님. 도구와 시스템을 설계할 때 인식해야 할 사항임.

Read Entire Article