Что такое соглашение PEP8 для документирования класса, который наследует другой класс?

Когда я пытаюсь следовать PEP8 и документировать строку класса, который включает наследование, проверка PyCharm/PyCode для PEP8 всегда выдает мне предупреждение о том, что унаследованные параметры не имеют ссылки. Эти лучше просто удалить? Должен ли я вообще упоминать параметры в классе, который является подклассом?

Например

МОДУЛЬ 1

class Parent:
    """Parent class
    :param plugin: a plugin
    :type plugin: plugin type

    """

    def __init___(self,plugin):
         self.plugin = plugin

МОДУЛЬ 2

class Child(Parent):
    """
    :param plugin: the plugin from parent class
    """

Модуль 2 выдаст мне предупреждение о том, что плагин не имеет ссылки. Лучшая практика для PEP8?


person Kent Wong    schedule 25.06.2018    source источник
comment
Лично мне нравится иметь __init__(plugin) в дочернем элементе, даже если он содержит только super().__init__(plugin), чтобы сигнатура была понятна читателю (особенно если определения классов находятся в отдельных файлах). Это также удовлетворило бы проверку PyCharm. Однако помните, что важна читабельность/чистота кода, а не то, работает ли чекер без предупреждений. В конце концов, он призван помочь вам как разработчику.   -  person IonicSolutions    schedule 25.06.2018
comment
Я не верю, что у Pep8 есть какое-то конкретное слово по этому поводу, но я считаю, что стандартной практикой является не включать или упоминать строку документа родителя в дочернем элементе, а скорее упоминать любое поведение, специфичное для ребенка. - дочерний элемент наследует строку документа родителя, если не указано иное.   -  person modesitt    schedule 25.06.2018


Ответы (1)


Для этого нет канонического ответа PEP8, поэтому закрытие. Стандартная практика заключается в том, чтобы не включать и не упоминать строку документа родителя в дочернем элементе.

person Kent Wong    schedule 28.06.2018