2009-06-07 3 views
3

많은 XML 파일로 동작을 정의하는 시스템이 있습니다 (약 50 개의 XML 파일 각각이 하위 시스템의 동작을 제어합니다)어느 것이 더 나은 UI 또는 DSL에 적합합니까?

레거시 이유로 XML 파일은 사용자 지정 형식입니다 시스템의 다양한 구성 요소가 쉽게 사용할 수 있도록 설계되었습니다.

사용자 정의 형식이 매우 직관적이지 않고 사람이 읽을 수있는 형식이 아닙니다 (이는 우리에게 중요한 고려 사항입니다).

어떻게이 가독성 문제를 해결할 수 있습니까?

나는이 XML 파일들 위에 작성된 직관적 인 UI가 그 일을해야한다고 생각한다.

그러나 제 동료는 XML 파일을 DSL로 대체하는 것이 직관적이고 기계 판독이 가능하기 때문에 더 좋은 아이디어라고 생각합니다.

이것은 좋은 생각입니까 과장입니까? UI를 말하는 것과 비교할 때 DSL 권한을 얻는 것이 매우 어렵다고 생각합니다. 그러나 나는 틀릴 수 있습니다.

도움을 주시면 감사하겠습니다. 감사.

답변

2

XML-to-XML 변환은 절반 방법이며 아마도 사용하려는 방식 일 것입니다.

UI를은 행동의 텍스트 기반의 설명을 대체, 그리고 같은 사본 & 붙여 넣기와 같은 일반적인 텍스트 기반 숙어 검색 & 교체 등 좋은 사용성으로 구현하기가 어색 전에 아주 완료한다 UI.

그러나 맞춤 구문 분석기가 포함 된 완전한 DSL은 아마도 너무 먼 단계 일 수 있습니다. 특히 팀의 여러 구성원에 파서 또는 컴파일러 환경이없는 경우에 특히 그렇습니다. 나를 잘못 이해하지 마라. 나는 사람들이 파서를 두려워해야한다고 생각하지 않는다. 나는 컴파일러 엔지니어이다.하지만 일부 사람들은 두려워하며, 파서가 올바르게 실행되지 않는다면 얻을 수있다. 아주 지저분 해.

이상적인 XML 형식을 디자인하고 XSLT를 사용하여이 형식을 실제 XML 형식으로 변환하는 도구를 작성해야합니다 (쉬운 일이라면 XSLT 기능에 너무 깊이 관여하지 않을 것입니다). 또는 간단한 번역 앱.

ad-hoc 편집은 쉽고 (메모장 만 필요함), 소스 제어의 diff는 읽을 수 있고, 미리보기는 이메일로 전송할 수 있습니다. UI 가져 오기 유용성과 기능적 패리티가 텍스트 형식으로되어있는 것은 쉽지 않습니다.

+0

나는 Barry에 동의한다 – Kane

+0

Barry에게 감사드립니다. 이상화 된 XML 형식을 사용하면 프로그래머가 직접 작성하거나 조정할 수있는 훨씬 더 읽기 쉬운 형태의 XML을 의미합니까? 우리 팀의 몇 명은 lex/yacc를 사용하는 경험이 있습니다. 그러나 그들 중 누구도 컴파일러 작성에서 완전한 경험을하지 못했습니다. – Prashanth

+0

또한 파일을 편집하는 사용자가 실수로 실수를 저 지르지 않도록하려면 어떻게해야합니까? 이것은 자동 완성 기능과 편집 후 유효성 검사 수단이있는 사용자 정의 편집기를 의미하지 않습니까? (우리는 가능한 한 빨리 부적합한 데이터에 플래그를 지정하기를 원합니다.) – Prashanth