CapWords conventions: get_MyClass ou get_my_class

C'est un style conventions question.

PEP8 convention pour une définition de classe serait quelque chose comme

class MyClass(object):
    def __init__(self, attri):
        self.attri = attri

Dire si je veux écrire un module dont l'étendue est fonction qui prend certaines données, les traite, puis crée une instance de Maclasse.

PEP8 dit que mes définitions de fonction doit avoir lowercase_underscore les noms de style, comme

def get_my_class(arg1, arg2, arg3):
    pass

Mais mon inclination serait à préciser que je parle de MyClass instances comme

def get_MyClass(arg1, arg2, arg3):
    pass

Pour ce cas, il semble carrément évident que my_class et MyClass sont liées, mais il ya certains cas où il n'est pas si évident. Par exemple, je suis de l'extraction de données à partir d'une feuille de calcul et un SpreadsheetColumn classe qui prend la forme d'une position d'attribut et d'une liste de données d'attribut. Pourtant, si vous ne le saviez pas, je vous parlais d'une instance de la SpreadsheetColumn classe, vous pourriez penser que je parle d'un raw colonne de cellules comme ils peuvent apparaître dans une feuille Excel.

Je me demande si c'est raisonnable de le violer PEP8 à utiliser get_MyClass. Cours de Python, je ne veux pas créer une habitude pour un mauvais convention de nommage.

J'ai cherché PEP8 et de Débordement de Pile et de ne pas le voir tout ce qui a abordé la question.

Est-il judicieux de l'appeler get_SpreadsheetColumn()? Ne pas get_column() fonctionne tout aussi bien? Décrire ce que l'objet représente dans le nom de la fonction, non pas de quel type il est.
Le problème dans mon cas c'est que j'ai la feuille de calcul complète de coordonnées qui décrivent une mise en page sur une page. J'ai donc pu parler d'une colonne dans la feuille de calcul, une colonne de coordonnées ou d'une colonne dans la mise en page finale. Dans mon cas, c'est une distinction que les questions
Je ne voudrais pas utiliser get_MyClass (), parce que "Maclasse", c'est la classe, pas l'instance. Lors de la première lecture get_MyClass() ne serait pas un MyClass usine, mais serait plutôt une sorte de décorateur qui, sur la base des informations d'exécution, retourné une classe dérivée de MyClass (ou a été MyClass).
Point valide.

OriginalL'auteur Ben Mordecai | 2013-01-25