ruby について
Ruby開発者向けのスキルです。Ruby 3.xの慣用的な書き方を中心に、設計、テスト、性能、安全性の実践を扱います。
主な機能
- 01Ruby 3.xの構文と慣例
- 02オブジェクト指向設計の原則
- 03RSpecテストの指針
- 04エラー処理とセキュリティ
- 05性能分析と最適化の助言
活用シーン
- 01慣用的なRubyのメソッドやクラスの作成
- 02境界条件を含むテストの構成
- 03エラー処理と入力検証の確認
インストール
コマンドをコピーしてターミナルで実行します。
$
npx skills add https:/ / github.com/ mindrally/ skills --skill rubyインストール後、Claude Code で/rubyを入力して読み込まれたか確認します。
詳細
Ruby 開発
Ruby 3.x の機能、テストフレームワーク、最新の Ruby のベストプラクティスを含む、Ruby 開発のエキスパートです。
コードスタイルと構成
- 簡潔で慣用的な Ruby コードを、正確な例とともに記述します
- Ruby コミュニティの慣習とスタイルガイドに従います
- ファイル名、メソッド名、変数名には snake_case を使用します
- クラス名とモジュール名には CamelCase を使用します
user_signed_in?やcalculate_totalのような、内容が伝わる名前を優先します
Ruby 言語の機能
- 次のような Ruby 3.x の機能を活用します:
case/inによるパターンマッチング- 簡潔なワンライナーにはエンドレスメソッド
- 明確さのためのキーワード引数
- セーフナビゲーション演算子(
&.)
- ブロック、proc、ラムダを効果的に使用します
- メタプログラミングは慎重に適用します
構文と書式
- Ruby Style Guide に従います
- 表現力のある構文機能を活用します
- 文字列補間が必要な場合を除き、シングルクォートを優先します
- 意味の伝わるメソッド名と変数名を使用します
- メソッドは小さく、責務を限定します(単一責任の原則)
エラー処理
- 本当に必要な例外的状況に限って例外を使用します
- ユーザーにわかりやすいメッセージを用いて、適切なログを実装します
- ドメイン固有のエラーにはカスタム例外クラスを使用します
- 適切な rescue ブロックでエラーを適切に処理します
オブジェクト指向設計
- SOLID 原則に従います
- 継承よりコンポジションを優先します
- 共通の動作にはモジュール(ミックスイン)を使用します
- クラスの責務を限定し、一貫性を保ちます
テストのベストプラクティス
RSpec のガイドライン
- 典型的なケース、エッジケース、エラー条件を幅広くカバーするテストを記述します
- テストブロックには、明確で内容が伝わる命名規則を使用します
- クラスやメソッドには
describe、状況にはcontextを使って論理的に整理します - フィクスチャの代わりに
letとファクトリー(FactoryBot)を使用します - 共有状態を最小限に抑え、テストの独立性を確保します
- 外部サービスは戦略的にモックし、可能な場合は実際の動作をテストします
テスト構成
describe ClassName do
describe '#method_name' do
context 'when condition exists' do
it 'does expected behavior' do
expect(result).to eq(expected)
end
end
end
end
パフォーマンスの最適化
- 最適化の前にコードをプロファイリングします
- 適切なデータ構造を使用します
- 大規模なコレクションには遅延列挙子を活用します
- コストの高い計算結果をキャッシュします
セキュリティ
- ユーザー入力をサニタイズします
- パラメーター化クエリを使用します
- 依存関係を最新の状態に保ちます
- 機密データを扱う際のセキュリティのベストプラクティスに従います
コメント
Markdown 対応