日本語版
最新ニュース
世界

コーディング時間を半分に短縮する 8 つの Python ツール |アブドゥル ラーマン著 |コドリフト | 2025 年 10 月

入力回数を増やすことで速くなるのではなく、適切なツールに重い作業を任せることで速くなります。これら 8 つのツールは、私が一度インストールした後、なぜもっと早く使用しなかったのか疑問に思った種類のものです。これらは典型的な「black/flake8/mypy」リストではありません。長い午後を短いプル リクエストに変える、あまり活用されていない、時には風変わりなユーティリティです。1) 仮説 — 特殊なケースの手書きをやめる内容: プロパティベースのテスト。入力を列挙する代わりに、不変条件を定義します。仮説は反例を見つけます。時間を節約できる理由: テストしようとは考えていなかった奇妙で脆弱なケースを迅速に見つけます。バグの回帰が減り、「でもローカルでは機能した」という非難も減りました。# pip install hypothesisfrom 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))…

コーディング時間を半分に短縮する 8 つの Python ツール |アブドゥル ラーマン著 |コドリフト | 2025 年 10 月

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 #ツール #アブドゥル #ラーマン著 #コドリフト #年 #月

執筆者について: nipponese

Nipponese News編集部は、国内外のニュースを日本語で分かりやすくお届けします。