Automation Anywhere 설명서 읽기 및 검토

Automation Anywhere Automation 360

콘텐츠 닫기

콘텐츠

콘텐츠 열기

패키지 개발을 위한 표준 코딩 습관 및 지침

  • 업데이트: 2021/01/06

    패키지 개발을 위한 표준 코딩 습관 및 지침

    이 주제는 고품질 패키지 개발을 위한 표준 코딩 습관 및 지침을 다룹니다.

    테스트
    고품질 코딩 보장. 패키지에 대해 충분한 양의 유닛 테스트 및 통합 테스트를 작성합니다.
    아이콘
    패키지에 대해 적절한 아이콘을 설정합니다.
    수동으로 버전 설정
    SDK 패키지 빌드 버전은 빌드가 발생할 때마다 자동으로 업데이트됩니다. 그러나 공통 build.gradle 파일의 명령 프로젝트에서 수동으로 설정할 수 있습니다.
    • 빌드 전에 build.gradle 파일을 업데이트하십시오.
    • 아래와 같이 마침표로 구분하여 최대 4자리 숫자를 입력합니다.
    
    . . .
    ext {
        version '2.1.0'
    }
    dependencies {...}
    종속성
    JAR 패키지에서 모든 종속성을 임베드합니다. 실행 시간에 임시 위치에 종속성을 추출하여 불러옵니다. 임시 위치는 종속성을 불러온 후 정리해야 합니다.
    종속 JAR 파일
    build.gradle 파일의 종속성에서 종속 JAR 파일을 구현으로 추가하여 종속 JAR 파일이 패키지화되도록 합니다.
    	
    . . .
    dependencies {
    		compileOnly name: 'command-annotations'
    		compileOnly name: 'bot-runtime'
    		compileOnly name: 'bot-api'
    		implementation name: 'i18n-api'
                  implementation name: 'mydependentjavafile.jar'
    		apt name: 'command-processor'
    		compileOnly group: 'org.apache.logging.log4j', name: 'log4j-core', version: "$loggerVersion"
    		testImplementation "org.testng:testng:$testNgVersion"
    		testImplementation name: 'bot-runtime'
    		testImplementation name: 'bot-api'
    	}
    . . . 
    기존 패키지에 새로운 작업을 추가합니다.
    새로운 작업을 기존 패키지에 추가할 때, 패키지화 전에 정리를 진행해야 합니다. 항상 gradlew.bat 정리 및 구축, shadowJar 정리 및 구축을 진행하는 것이 권고됩니다.
    오류 메시지
    의미 있는 오류 메시지를 제공합니다.
    • Do는 의미 있는 에러 메시지를 표시합니다. 예컨대 BotCommandException으로 i18n APIs를 사용하는 로컬 언어의 경우 새로운 예외인 BotCommandException(MESSAGES.getString("Run.Exception.InvalidWorkingDirPath"))를 도출합니다.
    • Do not ex.message와 같은 일반 오류 메시지를 표시합니다.
    기본 검증
    이 개발 키트에 포함된 @NotEmpty와 같은 검증 주석 기호 규칙을 사용하십시오. 기본 검증을 코드에 포함하지 마십시오. 검증 주석 기호을 참조하십시오.
    루프
    코드에 긴 실행 루프를 넣는 것을 삼가하십시오. 긴 실행 루프는 CPU 용량을 많이 차지하여 "봇이 반응하지 않습니다."와 같은 오류 발생의 원인이 될 수 있습니다.
    로깅 추가
    봇 실행 시간 프레임워크에서 제공되는 기본 log4J 로거를 사용하십시오. 자체적인 로거는 추가하지 마십시오. 자세한 정보는 샘플 코드를 참조하십시오.
    로깅 레벨
    • 오류/심각: 사용자에게 영향을 미치고 해결 방법이 없는 심각한 오류 이벤트입니다.
    • 경고: 예기치 않은 오류가 발생했지만 시스템이 복구되었습니다.
    • 정보: 상태 변경에 대한 정보 메시지(예: 수락된 요청)
    • 디버그: 문제가 발생할 때 디버깅에 필요한 자세한 진단 정보.
    • 추적: 애플리케이션 동작에 대한 모든 정보가 캡처됩니다.

      로그 수준을 잘 모르면 추적으로 설정하십시오.

    리소스 로드 중
    모든 리소스는 다음 예와 같이 현재 스레드 컨텍스트 클래스 로더를 사용하여 로드해야 합니다.
    Thread.currentThread().getContextClassLoader().getResourceAsStream("resource.json");
    피드백을 보내주십시오