2016-06-29 18 views
2

私はDjangoのプロジェクトを持っており、次のようにいくつかの場所で、私たちはインデント複数行のコメントを持っている:これは明らかにPEPに違反pythonの複数行コメントのインデント

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

を、しかし、私の意見では、読みやすさに役立ちます。もちろん、次のようなコメントを書くことができます:

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

しかし、私は最初の方を好むでしょう。

PEPに違反することなくコメントを字下げする方法はありますか?

+0

これが "正式な"ものであるかどうかはわかりませんが、[Python Style guide(PEP 8)](https://www.python.org/dev/peps/pep-0008/#comments)コメントとインラインコメント。インラインブロックコメントなどはありません。 –

+3

'field'が' number_of_emails_sent'という名前で、適切な整数値を使用した場合、コメントは必要ありません。 – Aya

答えて

3

マジック番号は、ここでは最良のドキュメントは、名前の(擬似)の定数を使用することですので、悪ですコメントはほとんどありません)。コメントをどこに配置するかについて、より一般的な答えは、特別に、複数行のものについては

:コメントした項目は、ほとんどのPythonのユーザーが大多数のためにそう期待するものである前にコメントを持つ

  1. はそれがあるです」より読みやすい "

  2. また、コードの編集が簡単になります(コードと混合したコメントやコメントのインデントなどを維持する必要はありません)。

それはあなた自身の個人的なプロジェクトだと、あなたが任意のコーディングスタイル/規則を使用する(うまくいけば)自由に誰がそれに取り組んでそれを共有または持つ予定がない場合は、pep08は無宗教ではありませんが、もし他の誰かがあなたのコードを作業しなければならないので、彼は確かにこのようにコメントするためにあなたを憎むでしょう。

+1

彼はコメントについて話している。なぜ定数を導入するのですか?私もPythonで素朴です。ちょうど質問をする。ここであなたの意見は分かりませんでしたか? –

+0

@AdilMalik:[魔法の数字は何ですか?なぜそれは悪いのですか?](http://stackoverflow.com/questions/47882/what-is-a-magic-number-and-why-is-it-bad ) – GingerPlusPlus

+0

@GingerPlusPlusこれは私がここで説明するためにブルーノに求めているものです。なぜ彼は定数がトリプルクォート文字列より優れていると思いますか –

0

この質問は、this question
と重複しています。このような複数行のコメントを使用することもできます。一般的なルールとして

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

、少ない方が良い(クリアコードのニーズをコメントする必要があります。

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

[あなたはPEP 8に違反しました](https://www.python.org/dev/peps/pep-0008/#string-quotes)。 – miradulo

+0

@Mitchは今は正しいですか?ありがとう私はそれを知らなかった:) –

+3

これは複数行コメントではなく、(三重引用符で囲んだ)文字列です。 –

関連する問題