負符号と変数名の間のスペース


8

このStack Exchangeサイトを検索するだけでなく、Google検索も試しましたが、これに直接関連する質問は見つかりませんでした。

PEP 8 - Pythonのコードのためのスタイルガイドは、良いスタイルの推奨事項の多くを持っている、しかし、私は彼らがマイナスまたはマイナス記号(間にスペースかどうかについては何も言及しないと思います-)、変数名は、多かれ少なかれ読みだろうが。

質問

(非常に)小さな問題ですが、どちらがより読みやすいと考えられますか?

  • false_positive = -true_positive
  • false_positive = - true_positive

動機

ささいなことをしないようにお願いしますが、過去の数学のコースでは、エントロピーを計算するための方程式などの重要な方程式の負符号に気付かないことがよくあります。

エントロピー公式

-合計の前にサインに気付かないことが多いので、目立たせることが望ましいでしょう。


否定とそのオペランドの間にスペースを入れて数学やコードを書く人を見たことがありません。
Thomas Eding 2013年

回答:


12

あなたが言ったように、私はそれについてPythonスタイルガイドで何も見つけることができませんでしたが、「単項演算子の間隔」を検索すると、Javascriptのような次のようなさまざまな言語からのヒットが増えました。

演算子がtypeofなどの単語である場合を除き、スペースで単項演算子とそのオペランドを区切ることはできません。

またはこれはCの場合

sizeofとキャストを除いて、単項演算子の周りにスペースを使用しないでください

ではLinuxカーネル

ほとんどの2項演算子と3項演算子の周囲(両側)に1つのスペースを使用しますが、単項演算子の後にはスペースを入れません。

コードの記述スタイルは、通常は固定幅フォントで、ほとんどがラテン文字で記述されますが、ラテン文字とギリシャ文字の両方、分数などのトポロジ構造、または周囲のマークなどを見つけることができる式とはかなり異なることに注意してください。あなたがそこに持っているそのイプシロン、およびそれらをコードよりもはるかに複雑にする他のこと。


調査、および今後の検索に役立つ追加のキーワード(「単項演算子」)に感謝します。
Wesley Baugh

1

私は以前これに遭遇したことがあり、私は

var false_positive = 0 - true_positive

意図が明確であることを確認します。それがより読みやすい形式です。


0

マイナス記号は単語の一部として読み取られる可能性が少し低いので、2番目のものは少し悪いと思います。ただし、どちらの形式も悪いと思います。

私は全部を置き換えます

false_positive = -1 * true_positive

あるいは

false_positive = (-1) * true_positive

任意の言語で。


1
これは良いアイデアですが、乗算は加算よりもコストがかかるので0 - true_positive、マシンで処理するのにより効率的な方法でポイントを取得できるため、@ jeffbeatの方が好きです。
GlenPeterson 2013年
弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.