clean-code

📁 grndlvl/software-patterns 📅 6 days ago
1
总安装量
1
周安装量
#45542
全站排名
安装命令
npx skills add https://github.com/grndlvl/software-patterns --skill clean-code

Agent 安装分布

opencode 1
claude-code 1

Skill 文档

Clean Code Reference

A comprehensive reference for writing clean, maintainable code based on Robert Martin’s “Clean Code” and related works. This skill provides language-agnostic principles with examples that apply to any programming language.

When This Skill Activates

This skill automatically activates when you:

  • Review code for quality or maintainability
  • Need guidance on naming conventions
  • Discuss refactoring or code smells
  • Apply SOLID principles
  • Improve code readability or structure
  • Write or review unit tests

Quick Reference

SOLID Principles

Principle Summary Violation Sign
Single Responsibility (SRP) One reason to change Class does too many things
Open/Closed (OCP) Open for extension, closed for modification Modifying existing code for new features
Liskov Substitution (LSP) Subtypes must be substitutable Subclass breaks parent behavior
Interface Segregation (ISP) No forced dependencies on unused methods Fat interfaces
Dependency Inversion (DIP) Depend on abstractions, not concretions High-level modules import low-level

Clean Code Practices

Practice Key Points
Meaningful Names Intention-revealing, pronounceable, searchable
Functions Small, do one thing, one level of abstraction
Comments Code should be self-documenting; comments explain why, not what
Formatting Consistent style, vertical density, horizontal alignment
Error Handling Exceptions over error codes, fail fast, don’t return null
Unit Testing F.I.R.S.T. principles, one assert per test, test behavior
Code Smells Recognition and refactoring of common problems
Boy Scout Rule Leave code cleaner than you found it

The Boy Scout Rule

“Leave the campground cleaner than you found it.”

Every time you touch code, make it a little better. Small, incremental improvements compound over time.

Code Quality Checklist

Before committing code, verify:

  • Names – Are all names intention-revealing?
  • Functions – Is each function doing exactly one thing?
  • Comments – Are comments explaining why, not what?
  • DRY – Is there any duplicated logic?
  • SOLID – Are principles being followed?
  • Tests – Is the code tested and testable?
  • Error Handling – Are errors handled gracefully?

Language Translation Notes

Examples use generic pseudocode. Adapt to your language:

  • PHP: class, function, ->, type hints
  • JavaScript/TypeScript: class, arrow functions, .
  • Python: class, def, ., type hints
  • Java/C#: Direct mapping with access modifiers

Based on concepts from “Clean Code: A Handbook of Agile Software Craftsmanship” by Robert C. Martin, 2008.