長い if 条件をインデントする場合、通常は次のようにします (実際、PyDev はこのようにインデントします)。
if (collResv.repeatability is None or
collResv.somethingElse):
collResv.rejected = True
collResv.rejectCompletely()
ただし、これにより、if ステートメントによって開始されるブロックが if 条件の最後の部分と同じインデント レベルに配置され、ブロックの開始場所がすぐにわからないため、私の意見では非常に見苦しく/読みにくくなります。
私が考えた他のいくつかのスタイル:
if (collResv.repeatability is None or
collResv.somethingElse):
collResv.rejected = True
collResv.rejectCompletely()
2 行目が最初の行よりもはるかにインデントされているため、これはかなり矛盾しているように見えますが、読みやすいです。
if (collResv.repeatability is None or
collResv.somethingElse):
collResv.rejected = True
collResv.rejectCompletely()
これも最初の例より読みやすくなっていますが、インデントが 4 の倍数ではなくなっていることに加えて、最初の行の条件の開始よりも 2 行目のインデントが少ないため、正しく見えません。
したがって、私の主な質問は次のとおりです。過度に長い行を必要としないような場合 (つまり、単一行の状態) に推奨されるインデント スタイルはありますか? そうでない場合、そのような場合に何を好みますか?