360 Secure SkillHub
360 安全技能中心

Assert

面向断言与契约式设计的快速参考,涵盖前置条件、后置条件、不变量、跨语言断言行为、设计契约方法及常见反模式,通过本地脚本命令输出说明内容,适合查阅防御性编程实践。

bytesagain3
bytesagain3
热度 57.46
最近更新 2026-05-11 17:34:51
分类:知识依赖:代码执行应用场景:概念解释 / 调试排错

安装技能

复制下面的话术发给你的 Agent,它会通过 secure-skills 检索并安装该技能。

执行命令安装此 skill: npx secure-skills-cli add assert
Metadata
name
assert
version
1.0.0
description
Assertion patterns reference — guard clauses, preconditions, invariants, and contract programming. Use when writing defensive code, validating inputs, or implementing design-by-contract.
author
BytesAgain
homepage
https://bytesagain.com
source
https://github.com/bytesagain/ai-skills
tags
["assert","assertion","precondition","invariant","contract","defensive","testing"]
category
devtools

Assert — Assertion Patterns Reference

Quick-reference skill for assertion techniques, design-by-contract, and defensive programming patterns.

When to Use

  • Writing precondition checks for function inputs
  • Implementing class invariants and postconditions
  • Choosing between assertions and exceptions
  • Applying design-by-contract methodology
  • Understanding assertion behavior across languages

Commands

intro

scripts/script.sh intro

Overview of assertions — purpose, philosophy, and when to use them vs exceptions.

preconditions

scripts/script.sh preconditions

Precondition patterns: validating inputs, guard clauses, and fail-fast design.

postconditions

scripts/script.sh postconditions

Postcondition patterns: validating outputs and return value contracts.

invariants

scripts/script.sh invariants

Class and loop invariants — maintaining consistent state throughout execution.

languages

scripts/script.sh languages

Assertion syntax and behavior in Python, Java, C, JavaScript, Rust, Go.

contracts

scripts/script.sh contracts

Design-by-contract methodology — Bertrand Meyer's approach and modern implementations.

antipatterns

scripts/script.sh antipatterns

Common assertion mistakes: side effects, catching AssertionError, using in production flow.

strategies

scripts/script.sh strategies

Assertion strategies for different contexts: unit tests, production code, APIs, libraries.

help

scripts/script.sh help

version

scripts/script.sh version

Powered by BytesAgain | bytesagain.com | hello@bytesagain.com