전문
JSL(JMP 스크립팅 언어)은 자동화된 코드 생성(매크로 레코더와 유사)에서 응용 프로그램 개발을 위한 통합 개발 환경에 이르는 다양한 스크립팅 기능을 제공합니다. 다른 프로그래밍 언어와 마찬가지로 JSL 프로젝트에 좋은 프로그래밍 방법을 적용하면 강력하고 지원하기 쉬운 스크립트와 응용 프로그램이 생성됩니다. JSL은 일반적인 프로그래밍 작업을 단순화했기 때문에 이러한 관행의 필요성을 간과하거나 무시하기 쉽습니다.JSL이 제공하는 기능과 유연성을 감안할 때 좋은 프로그래밍 방식을 무시하면 사용자가 잠재적인 위험에 노출될 수 있습니다. 이 짧은 문서는 이러한 위험을 인식하고 위험을 관리하는 데 사용할 수 있는 프로그래밍 전략을 제공하기 위해 작성되었습니다.
일반적인 모범 사례
- 항상 서면 계획이나 문제 설명으로 시작하여 명확한 결과물의 체크리스트를 작성하는 데 사용하십시오.이는 범위 크리프를 방지하고 프로젝트를 작업에 계속 유지하는 데 도움이 됩니다.
- 가능하면 처음부터 모든 것을 엔지니어링하는 대신 기존 구조(함수, 미리 만들어진 코드, 라이브러리 등)를 사용합니다.
- 가능한 모든 입력 상황을 테스트하는 것은 종종 불가능하지만 여러 입력 조건을 사용해야 합니다. JMP의 시험판 버전에 대한 테스트도 수행해야 합니다. 가능하면 저장된 테스트 파일 세트 또는 작성된 테스트 조건 세트(예: 대화 상자 설정)를 사용해야 합니다.
- 원래 작성자가 더 이상 코드를 유지 관리할 책임이 없을 때 누가 코드 유지 관리를 책임질 것인지 명시하여 승계 계획을 세워야 합니다.
스크립트 구조
- 코드를 혼자 개발하든 그룹으로 개발하든 스타일 가이드에서 작업하는 것이 좋습니다. 가이드에는 변수 및 함수의 명명 규칙, 코딩 요소 주변의 간격(예: 서식 지정), 주석 처리 등과 같은 정보가 포함되어야 합니다. 이 문서는 스크립트와 응용 프로그램 전반에 걸쳐 일관성을 높여 가독성과 유지 관리 용이성을 높입니다. 예제에 대한 링크를 찾을 수 있습니다 여기 .
- 버전 번호, 작성자, 개정 날짜, 필수 및 선택적 입력, 이전 버전의 버그 수정 및 테스트한 JMP 버전과 같은 정보가 포함된 주석 섹션이 스크립트 상단에 포함되어야 합니다. 변경 기록이 보존되도록 스크립트가 수정될 때마다 업데이트되어야 합니다. 범위 및 제한 사항을 포함하여 프로그램 동작에 대한 간단한 설명도 포함되어야 합니다.
- 데이터 구조, 제어 흐름 또는 논리의 선택이 즉시 명확하지 않은 코드 섹션에는 주석을 추가해야 합니다.
- 변수는 처음 정의된 스크립트/함수/블록 외부에서 정의하면 안 됩니다. 절대적으로 필요한 경우가 아니면 전역 변수를 피해야 합니다. 이러한 제한을 구현하려면 JSL 범위 지정 기능을 사용해야 합니다.
- 가능하면 스크립트 또는 애플리케이션 기능을 작은 독립 코드 블록으로 분할해야 합니다. 해당 코드는 별도의 파일이나 JSL 데이터 구조에 저장될 수 있습니다.
배송 방법
- 저장소, 버전 제어 시스템 등을 사용하여 코드 모음을 관리하고 사용자가 최신 버전의 스크립트에 액세스할 수 있도록 하는 것을 고려하십시오.
- 가능한 경우 코드를 사용하기 쉽도록 패키지해야 합니다.
- 중대형 애플리케이션의 경우 완전한 솔루션을 위해 애드인이 선호됩니다.
- 추가 기능이 보편적으로 호환되는지 완전히 확신하지 못하는 경우 추가 기능 마법사에서 최소 JMP 버전 및 지원되는 호스트 기능을 사용하여 추가 기능이 지원되지 않는 환경에서 실행되지 않도록 하십시오.
- 대규모 프로젝트의 경우 느린 로드 시간을 방지하기 위해 추가 기능 내에서 JMP 응용 프로그램을 사용해야 합니다.
- 패키지되지 않은 JSL 스크립트는 함수 라이브러리, 스크립트 처리, 개발 작업 등을 위해 예약해야 합니다.
- 최종 사용자가 편집하거나 볼 수 없어야 하는 코드(JSL, Addin 또는 애플리케이션 형식)는 암호화되어야 합니다.
- 사용자가 보편적으로 실행할 수 없어야 하는 코드는 암호화를 실행해야 합니다.
기타 고려 사항
- 코드에 라이선스 또는 법적 면책 조항을 포함하는 것을 고려하십시오. 코드가 공개적으로 게시되는 경우 조직에서 요구할 수 있습니다.
이 문서 정보
Q: 재료는 어디에 있습니까?
A: 당신은 그것을 읽고 있습니다.
현재 내부에서만 사용할 수 있습니다. 이 변경됩니다.
Q: 우리의 동기는 무엇입니까?
A: 실제 또는 인지 여부에 관계없이 다음 고객 문제를 해결하기 위해:
내 스크립트는 최신 버전의 JMP에서 작동하지 않습니다.
Q: 우리는 무엇을 성취하기를 희망합니까?
A: 새로운 문제가 발생하는 경우를 통제할 수는 없지만 자초한 문제를 방지하기 위한 지침은 제공할 수 있습니다.
Q: 문서가 무엇을 위한/아닌가요?
A: 현재 문서는 좋은 프로그래밍 방법에 대한 일반적인 개요를 제공하기 위한 것입니다. 그것은 서술적이며 규범적이지 않습니다. 후자는 아마도 나중에 올 것입니다.
Q: 우리는 당신에게서 무엇을 필요로 합니까?
A: 저희에게 알려주십시오:
- 문서에 누락되거나 불분명한 사항이 있는 경우.
- 당신이 생각하는 것은 다음에 일어나야 합니다.
- 당신이 이것을 믿는 곳, 그리고 미래의 정보가 있어야 합니다.
- 스크립트를 사용하여 고객을 최신 버전으로 이동하는 프로세스를 만들기 위해 우리에게 필요한 것.
스크립트 개발이라는 섹션을 추가하고 배포 방법에는 스크립트 개발(예: 저장소 및 버전 제어)에 포함하는 것이 타당한 몇 가지 항목이 있습니다.배포 방법에 나열된 추가 기능과 함께 데이터 테이블에서 독립 실행형 스크립트, 열린 기능에서 실행, Windows 작업 스케줄러를 사용하여 실행, 워크플로를 관리하기 위한 저널의 스크립트와 같은 다른 배포 방법을 언급할 수도 있습니다. 스크립트 개발에는 보고서(및 JMP 16의 로그)에서 스크립트 저장과 같은 몇 가지 기본 사항과 보고서 및 New Window(), 스크립팅 인덱스, JMP와 같은 리소스에서 저장된 스크립트를 함께 연결하는 방법과 같은 몇 가지 기본 사항이 포함될 수 있습니다. 커뮤니티 등...