Agent Skills by ALSEL
汎用ソフトウェア開発⭐ リポ 0品質スコア 70/100

code-quality-foundations

コード品質の要件、目標設定、抽象化レベル、トレードオフの考え方について学べます。コード品質の評価、品質目標の設定、適切な抽象化レベルの選択、設計上のトレードオフの検討、品質要件に対するコード監査が必要な場合に活用できます。可読性、モジュール性、テスト容易性、再利用性、最小驚き原則をカバーしています。

description の原文を見る

Code quality pillars, goals, abstraction layers, and tradeoff thinking. Use when evaluating code quality, setting quality goals, choosing abstraction levels, making design tradeoffs, or auditing code against quality pillars. Covers readability, modularity, testability, reusability, and the principle of least astonishment.

SKILL.md 本文

コード品質の基礎

高品質コードの4つの目標

目標問うべき質問失敗パターン
動作する問題を正しく解決しているか?バグ、未処理のエッジケース、要件の未充足
動き続ける周囲の変化に耐えられるか?脆弱な依存関係、テストがない、隠れた仮定
適応可能である要件変更があっても書き直さずにすむか?堅い結合、過度な設計、ハードコードされた仮定
車輪の再発明をしない実証済みのソリューションを再利用しているか?既に解決された問題向けのカスタムコード、重複した作業

コード品質の6つの柱

意味主要なテクニック
読みやすい他のエンジニアがすぐに理解できる記述的な名前付け、クリーンなレイヤー、一貫したスタイル
驚きがない動作が予期と一致する(POLA)明示的なコントラクト、マジック値なし、隠れた副作用なし
誤用しにくい正しくない方法で使う方が難しい型安全性、イミュータビリティ、検証された構築
モジュール化されているコンポーネントを独立して入れ替えられるインターフェース、DI、関心の分離、凝集度
再利用可能で一般化できる1つのケースだけでなく、広く問題を解決する焦点を絞ったパラメータ、ジェネリクス、仮定を避ける
テスト可能である分離して検証できるモジュール化がテスト可能性を実現;設計時から考慮する

POLA = Principle of Least Astonishment(最小驚き原則)。関数が合理的な呼び出し側が予期しないことをする場合、たとえ「動作」しても、それは設計上のバグです。

現代的な追加事項(2024-2026年 業界コンセンサス)

関心事現在明示的な理由元々の分類
セキュアシフトレフトセキュリティ;設計時の脅威モデル「動作する」に暗黙的に含まれていた
効率的リソース最適化は事後的ではなく、設計上の選択「動作する」に包含されていた
信頼できる明示的なエラーリカバリーと段階的な機能低下「動き続ける」に包含されていた

判定表

「これを抽象化すべきか?」

シグナルアクション
同じロジックが2箇所以上に現れている共有する関数/クラスに抽出する
関数を1文で説明できないより小さな関数に分割する
クラスのメソッドグループが異なるフィールドを使用している別のクラスへの分割を検討する
1つの機能を変更するために多くのファイルに触れる必要があるモジュール化とレイヤー境界を改善する
ユースケースが1つだけ存在する待つ — 時期尚早に抽象化しない

「品質努力をどこに投資すべきか?」

状況焦点根拠
グリーンフィールドプロジェクトモジュール化、クリーンなインターフェース基礎の決定は複合的に影響;早期に構造を整える
レガシーコードベーステスト、読みやすさ安全に変更する前に理解する
高トラフィックサービス信頼性、効率性、テスト本番障害は高くつく
プロトタイプ/スパイク動作するコード、速度アイデアを検証;書き直しを計画する
共有ライブラリ/API誤用しにくさ、驚きがなさコンシューマーがどう使うかを予測できない
セキュリティに関連するコードセキュリティ、テスト可能性違反は壊滅的で信頼を失わせる

チェックリスト

コード作成前に

  • 問題が明確に理解されている(要件、制約、エッジケース)
  • 既存ソリューションをチェックした(ライブラリ、共有コード、先行事例)
  • テスト戦略を検討した(これをどのように検証するか?)
  • 主要なトレードオフを識別した(何を選択し、何を諦めるか?)

コード品質の自己レビュー

  • 関数が1文に翻訳できる
  • 驚きがない:動作が名前と型に一致している
  • 誤用しにくい:可能な限り無効な状態を表現できない
  • モジュール化されている:変更が局所化され、散らばっていない
  • テスト可能である:複雑なセットアップなしでユニットテストできる
  • クリーンな抽象化:API が実装詳細をリークしていない

ライセンス: MIT(寛容ライセンスのため全文を引用しています) · 原本リポジトリ

詳細情報

作者
smileynet
リポジトリ
smileynet/code-spice
ライセンス
MIT
最終更新
2026/3/1

Source: https://github.com/smileynet/code-spice / ライセンス: MIT

本サイトは GitHub 上で公開されているオープンソースの SKILL.md ファイルをクロール・インデックス化したものです。 各スキルの著作権は原作者に帰属します。掲載に問題がある場合は info@alsel.co.jp または /takedown フォームよりご連絡ください。
原作者: smileynet · smileynet/code-spice · ライセンス: MIT