mcpField
R
rust-expert-best-practices-code-review

rust-expert-best-practices-code-review

github.com/wispbit-ai開発8256 回インストール37 週間前に更新
リポジトリ

rust-expert-best-practices-code-review について

Rust の本番コードを書く、レビューする、リファクタリングする開発者向けのコーディングスキルです。型安全性、エラー処理、API 設計、可読性、性能のルールを優先度別にまとめています。

主な機能

  1. 01優先度別の Rust ベストプラクティス
  2. 02型安全な API とデータモデルの指針
  3. 03不要なパニックを避けるエラー処理
  4. 04イテレーター、書式設定、可読性のパターン
  5. 05所有権と性能に関する提案

活用シーン

  1. 01Rust コードの安全性レビュー
  2. 02関数や公開 API のリファクタリング
  3. 03Rust のエラー処理の改善
  4. 04コードの明瞭さと性能の向上

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/wispbit-ai/skills --skill rust-expert-best-practices-code-review

インストール後、Claude Code で/rust-expert-best-practices-code-reviewを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

rules/
avoid-boolean-params.md
avoid-box.md
avoid-panic.md
avoid-rc.md
calculated-field-as-method.md
decimal-comparison.md
match-statements-handle-all-cases.md
prefer-builder-pattern-for-complex.md
prefer-format.md
result-error-returns.md
use-borrowed-argument-types.md
use-copied.md
use-enum-deserialization.md
use-iterator-transforms.md
use-named-placeholders.md
use-typesafe-index-wrappers.md

詳細

Rust のベストプラクティス

シンプルで、実用的で、明確な方針に基づいています。本番品質の Rust コードを書くうえで重要なことだけを扱います。

適用する場面

次のような場合に、これらのガイドラインを参照してください。

  • Rust コード(構造体、関数、列挙型、トレイト)を書くとき
  • エラー処理や Result 型を実装するとき
  • 安全性やパフォーマンスの問題について Rust コードをレビューするとき
  • 既存の Rust コードベースをリファクタリングするとき
  • API や公開インターフェースを設計するとき
  • Rust コードのパフォーマンスや明瞭さを最適化するとき

優先度別のルールカテゴリー

優先度カテゴリー影響プレフィックス
1型安全性重大use-typesafe-, use-enum-
2エラー処理重大〜高result-, avoid-panic
3API 設計高use-borrowed-, prefer-builder-
4コード品質中〜高use-iterator-, prefer-format
5可読性中use-named-, avoid-boolean-
6パフォーマンス中avoid-rc, avoid-box

クイックリファレンス

  • use-borrowed-argument-types - &String、&Vec、&PathBuf ではなく、&str、&[T]、&Path を使用します
  • use-enum-deserialization - 安全にデシリアライズできるよう、網羅的な列挙型マッチングを使用します
  • use-typesafe-index-wrappers - インデックス型をラップして、異なるインデックスの混同を防ぎます
  • result-error-returns - Result を返す関数では、unwrap/expect ではなく ? 演算子を使用します
  • avoid-panic - 状況に応じて panic! ではなく、assert!、Result、または expect を使用します
  • use-iterator-transforms - 明示的な push ループではなく、イテレーターメソッドを使用します
  • use-copied - 複雑な間接参照パターンを避けるために .copied() を使用します
  • prefer-format - 手動での文字列連結ではなく、format! を使用します
  • prefer-builder-pattern-for-complex - 4 つ以上のパラメーターを持つ関数では、ビルダーパターンを使用します
  • use-named-placeholders - 分割代入で単独の _ ではなく、名前付きプレースホルダーを使用します
  • decimal-comparison - Decimal::ZERO との比較ではなく、.is_sign_negative() を使用します
  • calculated-field-as-method - 計算フィールドは構造体のフィールドではなく、メソッドとして実装します
  • avoid-rc - よりシンプルな所有権パターンで対応できる場合は、不要な Rc を避けます
  • avoid-box - 正当な理由がない限り、具象型に Box を使用しないでください
  • avoid-boolean-params - ブール値のパラメーターを列挙型または構造体に置き換えます
  • match-statements-handle-all-cases - 網羅パターンを使わず、すべての列挙型バリアントを明示的に処理します

使用方法

詳しい説明とコード例については、個々のルールファイルをお読みください。

rules/use-borrowed-argument-types.md
rules/use-enum-deserialization.md
rules/use-typesafe-index-wrappers.md
rules/result-error-returns.md
rules/avoid-panic.md
rules/use-iterator-transforms.md
rules/use-copied.md
rules/prefer-format.md
rules/prefer-builder-pattern-for-complex.md
rules/use-named-placeholders.md
rules/decimal-comparison.md
rules/calculated-field-as-method.md
rules/avoid-rc.md
rules/avoid-box.md
rules/avoid-boolean-params.md
rules/match-statements-handle-all-cases.md

各ルールファイルには、次の内容が含まれています。

  • そのルールが重要な理由の簡単な説明
  • そのパターンを使用する場面と使用しない場面
  • 実装要件
  • 解説付きの BAD なコード例
  • 解説付きの GOOD なコード例
  • その他の背景情報とベストプラクティス

コメント