IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

Python Discussion :

docstring avec ou sans indentation ?


Sujet :

Python

  1. #1
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut docstring avec ou sans indentation ?
    Bonjour,

    je développe la suite d'outils UML Bouml générant entre autre du Python

    dans la version actuellement le générateur n'indente pas les docstring, j'ai fait ce choix pour que les indentations ne pollues le contenu de la chaine retournée par __doc__.

    par exemple le commentaire de op1 n'est pas indenté, celui de op2 l'est dans cet exemple :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
     
    >>> class C:
    ...   def op1(self):
    ...     """commentaire
    ... sur plusieurs
    ... lignes"""
    ...     pass
    ...
    ...   def op2(self):
    ...     """commentaire
    ...     sur plusieurs
    ...     lignes"""
    ...     pass
    ...
    >>> C.op1.__doc__
    'commentaire\nsur plusieurs\nlignes'
    >>> C.op2.__doc__
    'commentaire\n    sur plusieurs\n    lignes'
    le choix entre les deux est-il une affaire de goût, ou il y a une règle à suivre ?

    [edit : déplacé dans une autre discussion]autre petite question : l'héritage multiple dans le cas d'une métaclasse a-t-il un sens (c.a.d. une classe hérite de type et d'au moins une autre classe) ?[/edit]

    merci

    Bruno
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

  2. #2
    Membre émérite
    Homme Profil pro
    Inscrit en
    Décembre 2007
    Messages
    758
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 46
    Localisation : France

    Informations professionnelles :
    Secteur : Aéronautique - Marine - Espace - Armement

    Informations forums :
    Inscription : Décembre 2007
    Messages : 758
    Par défaut
    bonjour,

    pour répondre à ta première question, en ce qui me concerne j'indente toujours les docstrings. Je trouve cela plus lisible dans le code source.

    je n'utilise jamais directement la variable __doc__, je me sers en revanche plus souvent de la fonction help. Et à mon goût, je trouve cela aussi plus lisible si le docstring a été indenté.

    je ne pense pas qu'il y ait de règles pour les docstrings (sauf peut être si on utilise un outil pour réaliser une documentation de codage depuis le code source et encore dans ce cas, je doute que la règle soit universelle)

    En ce qui me concerne j'indente pour des raisons de goût.

    pour la deuxième question, je n'ai pas les connaissances suffisantes pour y répondre.

  3. #3
    Expert confirmé
    Avatar de Thierry Chappuis
    Homme Profil pro
    Enseignant Chercheur
    Inscrit en
    Mai 2005
    Messages
    3 499
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 48
    Localisation : Suisse

    Informations professionnelles :
    Activité : Enseignant Chercheur
    Secteur : Industrie Pharmaceutique

    Informations forums :
    Inscription : Mai 2005
    Messages : 3 499
    Par défaut
    Les conventions liées aux docstrings se trouvent dans le PEP 257.

    Thierry
    "The most important thing in the kitchen is the waste paper basket and it needs to be centrally located.", Donald Knuth
    "If the only tool you have is a hammer, every problem looks like a nail.", probably Abraham Maslow

    FAQ-Python FAQ-C FAQ-C++

    +

  4. #4
    Modérateur
    Avatar de bruno_pages
    Homme Profil pro
    ingénieur informaticien à la retraite
    Inscrit en
    Juin 2005
    Messages
    3 545
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 65
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : ingénieur informaticien à la retraite
    Secteur : High Tech - Produits et services télécom et Internet

    Informations forums :
    Inscription : Juin 2005
    Messages : 3 545
    Par défaut
    Citation Envoyé par Thierry Chappuis Voir le message
    Les conventions liées aux docstrings se trouvent dans le PEP 257.
    voilà qui résout définitivement la question
    et pourtant j'avais parcouru cette doc pour ajouter Python
    je ne devais pas avoir les yeux en face des trous ... ils étaient mal indenté

    merci à tous les deux

    Bruno
    Bruno Pagès, auteur de Bouml (freeware), mes tutoriels sur DVP (vieux, non à jour )

    N'oubliez pas de consulter les FAQ UML et les cours et tutoriels UML

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. [Apache] Différence URL avec ou sans ":80"
    Par sylk974 dans le forum Apache
    Réponses: 2
    Dernier message: 11/12/2005, 15h14
  2. [CSS][HTML] Mise en page : Avec ou sans tableaux ?
    Par arno2000 dans le forum Mise en page CSS
    Réponses: 4
    Dernier message: 09/08/2005, 02h34
  3. Réponses: 7
    Dernier message: 23/07/2005, 12h50
  4. Saut avec ou sans condition
    Par Frenchghost dans le forum Assembleur
    Réponses: 16
    Dernier message: 03/01/2005, 13h28
  5. [C#] [EXCEL] Travailler avec EXCEL sans ouvrir le logiciel
    Par Fabsou dans le forum Windows Forms
    Réponses: 3
    Dernier message: 16/07/2004, 10h29

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo