2016-06-29 16 views
2

Ich habe ein Projekt Django, und an einigen Stellen haben wir mehrzeilige Kommentare gegliederte wie folgt:Python mehrzeiligen Kommentar indent

field = models.IntegerField(default=0, null=True) # 0-initial_email_sent 
                # 1-second_email_sent 
                # 2-third_email_sent 

Dies zeigt deutlich PEP verletzt, aber meiner Meinung nach, hilft bei der Lesbarkeit. Natürlich könnte ich Kommentare wie folgt setzen:

# 0-initial_email_sent 
# 1-second_email_sent 
# 2-third_email_sent 
field = models.IntegerField(default=0, null=True) 

, aber ich würde lieber die erste bevorzugen.

Gibt es eine Möglichkeit, Kommentare als solche einzurücken, ohne PEP zu verletzen?

+0

Ich weiß nicht, ob das "canonical" ist, aber der [Python Style Guide (PEP 8)] (https://www.python.org/dev/peps/pep-0008/#comments) unterscheidet zwischen Blöcken Kommentare und Inline-Kommentare. Es gibt keine Inline-Blockkommentare. –

+3

Wenn Ihr 'Feld'' number_of_emails_sent' heißt und Sie den entsprechenden Integer-Wert verwenden, brauchen Sie den Kommentar nicht. – Aya

Antwort

3

Magische Zahlen sind schlecht, so dass die beste Dokumentation ist hier genannt zu verwenden (pseudo) Konstanten:

INITIAL_EMAIL_SENT = 0 
SECOND_EMAIL_SENT = 1 
THIRD_EMAIL_SENT = 2 
field = models.IntegerField(default=INITIAL_EMAIL_SENT, null=True) 

Als allgemeine Regel gilt, je weniger, desto besser (freies Code Bedürfnisse zu äußern keine oder sehr wenige Kommentare).

Für eine allgemeinere Antwort darüber, wo Kommentare zu platzieren, speziell mehrzeilige diejenigen:

  1. die Kommentare, die vor der kommentierten Artikel, was die Nutzer am meisten Python ist also zu erwarten für die meisten ist es ist " besser lesbar "

  2. es macht auch Code-Bearbeitung einfacher (Sie haben keine Kommentare mit Code gemischt, müssen Sie Kommentare Einrückung usw. nicht beibehalten).

Wenn es Ihr eigenes persönliches Projekt ist und Sie nicht vorhaben, es zu teilen oder jemand mit anderen daran zu arbeiten Sie (hoffentlich) frei, jede Art der Programmierung/Konvention zu verwenden, ist pep08 keine Religion, aber wenn jemand anderes muss jemals an deinem Code arbeiten, er wird dich sicherlich dafür hassen, dass er auf diese Weise kommentiert.

+1

Er spricht über einen Kommentar. Warum Konstanten einführen?Ich bin auch ein Naiv in Python. Frage nur stellen. Ich habe deinen Standpunkt hier nicht verstanden? –

+0

@AdilMalik: [Was ist eine magische Zahl, und warum ist es schlecht?] (Http://stackoverflow.com/questions/47882/what-is-a-magic-number-and-why-is-it-bad) – GingerPlusPlus

+0

@GingerPlusPlus, das frage ich Bruno hier zu erklären. Immer noch nicht sicher, warum er denkt, dass Konstanten besser sind als dreifache Zitat Strings –

0

Diese Frage ist ein Duplikat von this question
Sie könnten auch mehrzeilige Kommentare wie diese verwenden.

""" 
This is how yo can use Python Multi-line Comments 
Line two is here. 
Line three is here. 
""" 
+0

[Sie haben gerade PEP 8 verletzt] (https://www.python.org/dev/peps/pep-0008/#string-quotes). – miradulo

+0

@Mitch ist es jetzt korrekt? Danke, dass ich das nie gewusst habe :) –

+3

Dies ist kein mehrzeiliger Kommentar, es ist eine (dreifach zitierte) Zeichenfolge. –