1760273771
2025-10-12 12:46:00
入力回数を増やすことで速くなるのではなく、適切なツールに重い作業を任せることで速くなります。これら 8 つのツールは、私が一度インストールした後、なぜもっと早く使用しなかったのか疑問に思った種類のものです。これらは典型的な「black/flake8/mypy」リストではありません。長い午後を短いプル リクエストに変える、あまり活用されていない、時には風変わりなユーティリティです。
1) 仮説 — 特殊なケースの手書きをやめる
内容: プロパティベースのテスト。入力を列挙する代わりに、不変条件を定義します。仮説は反例を見つけます。
時間を節約できる理由: テストしようとは考えていなかった奇妙で脆弱なケースを迅速に見つけます。バグの回帰が減り、「でもローカルでは機能した」という非難も減りました。
# pip install hypothesis
from hypothesis import given, strategies as st@given(st.lists(st.integers()), st.integers(min_value=1, max_value=10))
def test_scale_and_avg(nums, scale):
scaled = [n * scale for n in nums]
if nums:
assert sum(scaled) / len(scaled) == (sum(nums) / len(nums)) * scale
プロのヒント: 走る pytest -q — 仮説は次のことを試みます 縮む 最小限の失敗例。使用 @settings(max_examples=200) ストレステストは慎重に、疑わしい機能のみに限定してください。
#コーディング時間を半分に短縮する #つの #Python #ツール #アブドゥル #ラーマン著 #コドリフト #年 #月