Python | 実務でよくある読みやすい書き方のリファクタ例(not を使った悪い例 → 改善例)

Python
スポンサーリンク

notを使った条件式」は初心者がよく書きがちですが、実務では読みづらさにつながることが多いです。ここでは 悪い例(読みづらい) → 改善例(読みやすい) を具体的に示します。


よくあるリファクタ例

例1:年齢制限チェック

悪い例(notを使って反転)

if not (age < 18):
    print("登録できます")
Python

改善例(肯定形で書く)

if age >= 18:
    print("登録できます")
Python

👉 「18歳以上」という条件を直接書いた方が読みやすい。


例2:空文字チェック

悪い例

if not name == "":
    print("名前が入力されています")
Python

改善例

if name != "":
    print("名前が入力されています")
Python

👉 not A == B は冗長。!= を使う方が直感的。


例3:リストが空かどうか

悪い例

if not len(items) > 0:
    print("リストが空です")
Python

改善例

if len(items) == 0:
    print("リストが空です")
Python

または、Pythonらしく:

if not items:
    print("リストが空です")
Python

👉 「空リストはFalse」というPythonの仕様を活かすとシンプル。


例4:複合条件

悪い例

if not (is_holiday or is_rainy):
    print("出かけよう")
Python

改善例

if not is_holiday and not is_rainy:
    print("出かけよう")
Python

👉 「休日でもなく、雨でもない」という条件を分解すると読みやすい。


例5:フラグの反転

悪い例

if not is_active:
    print("停止中です")
Python

改善例

if is_active:
    print("稼働中です")
else:
    print("停止中です")
Python

👉 「否定形」より「肯定形+else」の方が意図が伝わりやすい。


実務でのポイント

  • 肯定形で書けるなら肯定形にする → 「〜ではない」より「〜である」の方が理解しやすい。
  • 比較演算子を活用するnot A == B より A != B
  • Pythonの真偽値の性質を活かす → 空文字、空リスト、ゼロはFalse。

こうしたリファクタは「バグを減らす」よりも「読み手の理解を助ける」ために重要です。

Python
スポンサーリンク
シェアする
@lifehackerをフォローする
スポンサーリンク
タイトルとURLをコピーしました