Adapter 프로그래밍 스타일 가이드라인

현재 버전 (1.8.0)에 대한 매뉴얼을 보고 계십니다. 다른 버전에 액세스하려면 페이지 오른쪽 상단 모서리에 있는 '버전 전환' 버튼을 클릭하세요.

■ 최신 버전의 소프트웨어를 사용하려면 Mech-Mind 다운로드 센터를 방문하여 다운로드하세요.

■ 현재 사용하고 있는 제품의 버전이 확실하지 않은 경우에는 언제든지 당사 기술 지원팀에 문의하시기 바랍니다.

Adapter는 Python 언어로 작성되었으므로, Adapter 개발자는 Style Guide for Python Code 내용을 엄격히 준수해야 합니다.

또한 프로그래밍된 Adapter의 품질과 가독성을 향상시키기 위해 Adapter 개발자는 이 부분의 내용도 따라야 합니다.

명명

  1. 클래스 이름은 카멜 표기법을 사용하십시오. 예를 들면 다음과 같습니다:

    class AdapterWidget
  2. 클래스의 맴버 변수와 맴버 함수는 밑줄로 연결된 소문자 단어를 사용합니다. 예를 들면 다음과 같습니다:

    self.pick_count # Note that variables are generally nouns
    def start_viz(self): # Note that the function name is generally a verb + object
        pass
  3. 클래스의 맴버 변수와 맴버 함수가 클래스 내부에서만 사용되는 경우 이름 앞에 밑줄을 추가하여 이름이 클래스 외부에서는 사용하지 않는 것이 좋지만 클래스 외부에서는 계속 사용할 수 있음을 나타냅니다. 예를 들면 다음과 같습니다.

    self._socket = socket() # Indicates that the _socket variable is only used inside the class
    def _init_widget(self): # Indicates that the _init_widget function is only used inside the class
        pass
  4. 상수는 밑줄로 연결된 대문자를 사용합니다. 예를 들면 다음과 같습니다:

    ADAPTER_DIR = "D:/adapter_for_communication"

주석

주석은 너무 많으면 안 되며 표현이 복잡하거나 표현된 의미가 비교적 중요할 때만 추가하면 됩니다.

  • 한 줄 주석

    #으로 한 줄 주석을 시작합니다.

  • 여러 줄 주석

    ””” 및 ””” 사이에 여러 줄 주석을 추가하십시오.

  • 함수, 클래스 또는 패키지에 대한 소개 주석

    주석은 함수 아래, 클래스 아래 또는 패키지 상단에 있습니다. 예를 들면 다음과 같습니다.

    def viz_is_running(self):
    
        """
        Will be called when find viz is running during starting viz.
        """
    
    class Adapter(QObject):
    
        """
        Base class which encapsulates Viz/Vision/Hub/Robserver interfaces.
        """
    
    """
    Service base classes.
    """
    
    import logging

로그

로그는 문제가 발생했을 때 문제를 분석하는 데 도움이 될 수 있습니다. 로그 정보는 적절할 때(예를 들어 중요한 함수를 호출하거나 함수가 참조할 수 있는 데이터를 반환할 때) 출력하는 것이 좋습니다.

Adapter는 다음과 같은 두 가지 로그 출력 방법을 지원합니다:

  • print: 이 방법은 로그만 콘솔에 출력합니다. 이 방법은 런타임에 실시간 관찰에 편리하지만 프로그램이 실패하면 메시지가 손실됩니다. 따라서 실제 생산 환경에서는 사용하지 않는 것이 좋습니다.

  • logging: 이 방법은 형식화된 로그 표시 형식을 지원하고 로그 파일에 로그 저장도 지원합니다(옵션 기능). 따라서 이 방법을 사용하는 것이 좋습니다.

저희는 귀하의 개인 정보를 소중하게 생각합니다.

당사 웹사이트는 귀하에게 최상의 경험을 제공하기 위해 쿠키를 사용합니다. "모두 수락"을 클릭하시는 경우, 귀하는 사의 쿠키 사용에 동의하게 됩니다. "모두 거부"를 클릭하시는 경우, 귀하가 이 웹사이트를 방문할 때 추적되거나 기억되지 않도록 하기 위해 단일 쿠키가 사용됩니다.