재사용 가능한 패키지 작성

지침을 검토하여 패키지 재활용을 위한 작성 방법을 이해합니다.

수신 데이터 파악
작업 패키지에서 사용자에게 요구하는 필드를 설정할 때는 속성 유형 설정 시 구체사항을 제시하여 패키지가 수신하는 데이터의 종류를 제한합니다.
  • 포장물을 수령할 때 수행해야 하는 검사 부담을 줄이기 위해 입력을 제한합니다.
  • Javadoc에는 34개의 정의된 특성 유형이 포함되어 있으므로 패키지를 작성할 때는 그러한 유형을 검토하여 적절한 필드 유형을 선택해야 합니다.
  • 저장된 값을 취하도록 패키지를 설정합니다. 예를 들어, 패키지을 대신하여, API를 호출하고, API 키 또는 토큰에 대한 작업 입력 필드의 AttributeTypecredential로 설정되어 있는지 확인합니다. 이런 방식으로 사용자가 패키지에서 요구하는 민감한 입력 데이터로 Credential Vault에 저장된 값을 이용하도록 권장하고 있습니다.
적절한 라벨 사용
CommandPkg 주석에서 서로 다른 라벨, node_label 및 설명을 적절히 이용합니다.
  • 이 라벨을 귀하의 작업에 대한 간단한 설명으로 이용하고, 작업 설명에는 단지 몇 단어만 이용하도록 하십시오.
  • 기본 작업 패키지에서 제시했던 것과 동일한 이름 지정 스타일을 복제합니다.
  • 각 작업은 패키지의 하위 요소이며 작업 라벨은 작업 창에 패키지 아이콘과 함께 표시됩니다. 각 작업을 설명에는 짧은 이름을 이용합니다.
  • 특정 필드에 대한 예상 입력 형식을 문서화합니다. @Pkg 주석에 대한 매개변수 설명을 이용합니다. 이를 통해 패키지 개발자는 특정 입력 필드에 이용해야 하는 형식, 요구사항 또는 데이터를 검토할 수 있습니다. 예시:
    @Pkg(label = "Start Date", description="Date Format as MM/DD/YYYY"
구성요소 단위 테스트
패키지 개발 중에, 단위 테스트를 준비해서 패키지의 각 구성요소와 작업이 예상대로 작동하는지 확인합니다.
  • 개별 테스트 유닛, 단일 클래스 또는 단일 작업의 행동을 검증하여 예상대로 작동하는지 확인합니다.
  • 개발 프로세스의 초기 단계에서 특징 또는 기능적 결함을 검토하고 문서화합니다.
오류 처리
모든 오류가 정상적으로 처리되도록 논리에 오류 처리를 포함시킵니다. 오류가 처리되지 않으면 Runner가 다른 태스크를 실행하지 못할 수 있습니다.
  • 소비자가 오류 해결에 도움이 되는 의미 있는 오류 메시지를 생성합니다.
  • 패키지 개발자로서 다음 권장 사항을 기억하십시오.
    • Try/Catch 블록을 이용하여 오류에 적응합니다.
    • 다중 캐치 블록을 이용하여 특정 오류를 찾고 BotCommandException을 이용하여 맞춤화된 오류 메시지를 반환합니다. 예시:
      //create array of 3 items
      int[] myIntArray = new int[]{1, 0, 7};
      try {
          //print 4th item in array
          System.out.println(myIntArray[3]);
          //Perform operation on first and second items in array
          int result = myIntArray[0] / myIntArray[1];
      } catch (ArrayIndexOutOfBoundsException e) {
          //Throw custom message for IndexOutofBounds
          throw new BotCommandException("The array does have the number of expected items.");
      } catch (ArithmeticException e) {
          //Throw custom message on Atithmetic Exception
          throw new BotCommandException("Math Operation Error with " + Integer.toString(myIntArray[0]) + " and " + Integer.toString(myIntArray[1]));
      }
단일 책임 원칙 준수
패키지는 일련의 작업을 모아놓은 것입니다. 패키지의 각 작업에는 단일 책임이 있어야 하며 그 책임은 해당 작업에 포함되어 있어야 합니다.
  • 단일 책임 원칙을 준수하면 패키지 소비자가 그 책임을 쉽게 구현하고, 테스트를 단순화하고, 불필요한 수정을 피할 수 있습니다.
  • 귀하가 제공하는 조치를 통해 패키지 소비자들은 자체 Bot에서 사용하는 귀하의 패키지에 대한 이용 방법을 사용자 정의할 수 있으며, 그들의 Bot을 가능한 한 효율적으로 이용할 수 있습니다.
예시 제공
Bot Store패키지를 제출할 때는 패키지의 이용을 보여주는 데모 을 포함하도록 합니다.
  • Automation 360을 통해서 소비자들이 이러한 작업을 활용하여 패키지의 역량을 확대할 수 있게 합니다.
  • 샘플 Bot에는 설명을 항상 제공하여 패키지 소비자가 올바른 사용법을 이해하는 데 필요한 지식을 얻을 수 있게 합니다.