3

Pythonコードをより読みやすくしようとしています。スタイルガイドを読みましたが、このようなものを入手する方法がわかりません

x = foo(x);  # compute the value of the next prime number
             # that is larger than x  (foo is a really bad 
             # choice for this function's name) 

またはこれ

x = x + 1                 # Compensate for border
some other code           # some other comment

コメントをどのようにラップして、このように配置しますか?たくさんタイプするだけじゃないspaceですよね?コードを編集した場合、コメントを手動で再調整する必要がありますか?

私はエディターとしてemacsを使用しています。

4

4 に答える 4

9

私はあなたがこれをまったく望んでいないと思います。Lattyware はすでに 2 番目のケースを説明していますが、最初のケースを見てみましょう。

x = foo(x);  # compute the value of the next prime number
             # that is larger than x  (foo is a really bad 
             # choice for this function's name) 

長すぎてインラインに収まらないコメントは、次のようにコードの上のブロック コメントに変換できます。

# compute the value of the next prime number that is larger than
# x (foo is a really bad choice for this function's name)
x = foo(x);

右揃えのコメントよりも読みやすいようです。また、より多くのスペースを提供します。そして、それは間違いなくemacsの方が簡単です(すべてを入力してmeta-Qするだけです)。そして、 PEP 8 のインライン コメントを引用します。

インライン コメントは慎重に使用してください。

インライン コメントは、ステートメントと同じ行のコメントです。

これはインライン コメントのスタイル ガイドのまさに始まりであり、同じ行に収まりきらない量を書き込もうとしている場合は、代わりにブロック コメントを使用する必要があることを強く示唆しています。

また、PEP 8について話している間:

  • 「コメントは完全な文である必要があります。」最初のコメントにはピリオドが必要です。(はい、「コメントが短い場合は末尾のピリオドを省略できます」とも書いてありますが、3行2文のコメントなので、ここでは当てはまりません。)
  • 「コメントがフレーズまたはセンテンスの場合、最初の単語は大文字にする必要があります」. そのため、"Compute" は大文字にします (ただし、"foo" は識別子なので、大文字にはしません)。
  • 関数の名前が悪いというコメントを追加しないでください。関数の名前を変更してください。
  • そのセミコロンを取り除きます。

そう:

# Compute the value of the next prime number that is larger than x.
x = next_larger_prime(x)

しかし、一度それを行ったら、コメントさえ必要ありません。

そして実際、それはかなり一般的です。コメントに関するスタイル ガイドラインを破るにはどうすればよいか迷っている場合は、その代わりに、コードを再構成して、すべてのコメントを必要としないようにする方法を検討する必要があります。常に可能であるとは限りませんが、少なくとも試してみる価値は通常あります。

于 2013-01-18T23:38:30.283 に答える
3

私は、2つのケースが大きく異なると主張します。最初のケースでは、ユーザーのエディターでのタブ幅の設定に関係なくコメントを揃えたいので、タブの上にスペースを使用します。明らかに、コードのインデントに通常タブを使用する場合は、コードのレベルに達するまでタブを使用し、次にスペースを使用します。

タブの使用を想像してみてください。

x = foo(x) # compute the value of the next prime number
⟶⟶⟶⟶ # that is larger than x  (foo is a really bad 
⟶⟶⟶⟶ # choice for this function's name) 

ここで、誰かがタブの長さに短い設定を使用していると想像してください。

x = foo(x) # compute the value of the next prime number
→→→→ # that is larger than x  (foo is a really bad 
→→→→ # choice for this function's name) 

ただし、これを代わりに三重引用符で囲まれた文字列に置き換えることをお勧めします。

"""Compute the value of the next prime number
that is larger than x  (foo is a really bad 
choice for this function's name)."""
x = foo(x)

2番目のケースでは、コメントを揃えても読みやすさが向上するとは思わないので、コメントを行の最後に配置します。PEP-8は、割り当ての整列、リテラルのdictなどを推奨していません...-これはその拡張と見なします。

x = x + 1 # Compensate for border
some other code # some other comment
于 2013-01-18T23:32:37.097 に答える
3

これを行うべきではありません。最初のものは次のようにフォーマットする必要があります。

# Compute the value of the next prime number that is larger than x
# (foo is a really bad choice for this function's name).
x = foo(x)

そして2番目:

x = x + 1  # Compensate for border
some other code   # some other comment
于 2013-01-18T23:37:54.053 に答える