Adapter 프로그래밍 스타일 규범

Adapter는 Python 언어로 작성되었으므로 Adapter 개발자는 Python 프로그래밍 규범 을 엄격히 준수해야 합니다.

또한 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 inter faces.
        """
    
    """
    Service base classes.
    """
    
    import logging
    

로그 규범

로그는 오류 발생 시 문제를 분석하는 데 도움이 될 수 있습니다. 로그 정보는 적절한 경우에 출력하는 것이 좋습니다. 예를 들면 핵심 함수를 호출하고 함수가 참조할 수 있는 데이터를 반환하는 경우입니다.

Adapter는 두 가지 로그 프린트 방법을 지원합니다.

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

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