나는 한동안 구성 파일과 코드와의 관계에 대해 고민해 왔으며 바람의 날과 방향에 따라 내 의견이 바뀌는 것 같습니다. Lisp를 배우면서 처음 얻은 깨달음으로 계속 돌아 오지만, 데이터와 코드 사이에는 거의 차이가 없습니다. 이것은 구성 파일의 경우 두 배로 사실입니다. 올바른 관점에서 보면 Perl 스크립트는 perl의 구성 파일에 불과합니다. 이는 QA 및 구성 파일 변경을 담당해야하는 분과 같은 작업에 상당히 큰 결과를 초래하는 경향이 있습니다.
구성 파일에서 완전한 언어로의 이동은 일반적으로 느리고 일반적인 시스템을 갖고 자하는 욕구에 의해 주도되는 것 같습니다. 대부분의 프로젝트는 로그 작성 위치, 데이터 검색 위치, 사용자 이름 및 비밀번호 등과 같은 몇 가지 구성 항목으로 작게 시작하는 것 같습니다. 작업의 타이밍과 순서가 제어되기 시작하고 필연적으로 누군가 로직을 추가하기를 원합니다 (예 : 머신이 X이면 10을 사용하고 머신이 Y이면 15를 사용). 특정 시점에서 구성 파일은 도메인 특정 언어가되고 그 언어는 제대로 작성되지 않습니다.
이제 무대를 설정하기 위해 뛰어 들었으므로 여기에 내 질문이 있습니다.
- 구성 파일의 진정한 목적은 무엇입니까?
- 구성 파일을 단순하게 유지해야합니까?
- 개발자, 사용자, 관리자 등의 변경을 책임 져야하는 사람은 누구입니까?
- 소스를 제어해야합니까 (질문 3 참조)?
앞서 말했듯이 이러한 질문에 대한 제 답변은 계속 바뀌지 만 지금은 다음과 같이 생각하고 있습니다.
- 프로그래머가 아닌 사람이 대량의 동작을 빠르게 변경할 수 있도록
- 예, 거칠지 않은 것은 코드에 있어야합니다.
- 사용자는 구성 파일을 담당해야하며 프로그래머는 구성 파일과 애플리케이션을보다 세밀하게 제어 할 수있는 코드 사이의 구성 계층을 담당해야합니다.
- 아니요,하지만 더 미세한 중간 레이어는