Files
video_probe/docs/DEVELOPMENT.md
2026-03-11 01:47:07 +08:00

63 lines
1.1 KiB
Markdown

# Development Guide
This document provides information for developers working on the video_probe project.
## Prerequisites
- Rust 1.70+ (https://rustup.rs/)
- FFmpeg/ffprobe (for probing video files)
## Build Commands
```bash
# Debug build
cargo build
# Release build
cargo build --release
# Run tests
cargo test
# Format code
cargo fmt
# Run linter
cargo clippy
```
## Project Structure
```
video_probe/
├── src/
│ ├── main.rs # CLI entry point
│ ├── lib.rs # Library interface
│ ├── error.rs # Error types
│ ├── metadata.rs # Data structures
│ ├── probe.rs # ffprobe execution
│ ├── parser.rs # JSON parsing
│ └── output.rs # Output formatting
├── docs/
│ ├── DEVELOPMENT.md
│ ├── USAGE.md
│ └── API.md
├── Cargo.toml
└── README.md
```
## Code Conventions
- Structs/Enums: PascalCase (e.g., VideoMetadata)
- Functions/Methods: snake_case (e.g., probe_video)
- Variables: snake_case (e.g., video_path)
## Testing
```bash
# Run all tests
cargo test
# Run with output
cargo test -- --nocapture
```