Expand description
§API Guidelines
A comprehensive Rust library providing structured enums and utilities for implementing and referencing the official Rust API Guidelines.
This crate systematically organizes the Rust API Guidelines into structured enums, making it easier to:
- Reference specific guidelines in code documentation
- Build linting tools and static analyzers
- Document API design decisions with precise guideline references
- Ensure code quality and consistency across Rust projects
- Generate guideline compliance reports
§Author
This crate is developed and maintained by slightmeta.
§Categories
The guidelines are organized into the following categories:
- Naming: Conventions for naming types, methods, and conversions
- Interoperability: Traits, conversions, and standard library integration
- Predictability: Consistent behavior and intuitive APIs
- Flexibility: Generic programming and trait design
- Type Safety: Strong typing and compile-time guarantees
- Dependability: Error handling and reliability
- Debuggability: Debug implementations and diagnostics
- Future Proofing: API evolution and compatibility
- Necessities: Licensing and stability requirements
- Documentation: Documentation standards and examples
- Macros: Macro design and implementation guidelines
§Usage
use api_guidelines::{Naming, Interoperability, Predictability};
// Reference naming conventions
let naming_convention = Naming::C_CASE;
let conversion_guideline = Naming::C_CONV;
// Reference interoperability guidelines
let common_traits = Interoperability::C_COMMON_TRAITS;
let conversion_traits = Interoperability::C_CONV_TRAITS;
// Reference predictability guidelines
let smart_ptr_guideline = Predictability::C_SMART_PTR;
let constructor_guideline = Predictability::C_CTOR;§Features
- Comprehensive Coverage: All official Rust API Guidelines are represented
- Structured Organization: Guidelines are logically grouped by category
- Rich Documentation: Each enum variant includes detailed documentation with examples
- Easy Integration: Simple enum-based API for easy reference in code
- Tooling Support: Designed to support linting tools and static analysis
§Example Use Cases
- Linting Tools: Build custom lints that reference specific guidelines
- Code Review: Reference guidelines in code review comments
- Documentation: Link to specific guidelines in API documentation
- Learning: Study Rust API design patterns systematically
This crate is based on the official Rust API Guidelines.
Enums§
- Debuggability
- Dependability
- Documentation
- Flexibility
- Future
Proofing - Interoperability
- Macro
- Naming
- Naming conventions and guidelines for Rust APIs
- Necessities
- Predictability
- Type
Safety