Common Best Practices

Enforce SOLID principles, guard-clause style, function size limits, and intention-revealing naming across all languages. Use when refactoring for readability, applying clean-code patterns, reviewing naming conventions, or reducing function complexity.

HoangNguyen0403 Updated 542 repo stars

File contents

Global Best Practices

Priority: P0 (CRITICAL)

Core Principles

  • SOLID: Follow SRP (One reason to change), OCP (Open to extension), LSP, ISP, DIP.
  • KISS/DRY/YAGNI: Favor readability. Abstract repeated logic. No " in case" code.
  • Naming: Use intention-revealing names (isUserAuthenticated > checkUser). Match language casing.

Code Hygiene

  • Size Limits: Functions < 30 lines. Services < 600 lines. Utils < 400 lines.
  • Early Returns: Use guard clauses. Avoid deep nesting.
  • Comments: Explain why, not what. Refactor bad code; don't comment it.
  • Input: Validate/sanitize all external inputs.

Anti-Patterns

  • No Hardcoded Constants: Use named config/env vars.
  • No Deep Nesting: Use guard clauses.
  • No Global State: Prefer dependency injection.
  • No Empty Catches: Always handle, log, or rethrow.

References

  • Code Structure Patterns — file/function organization
  • Effectiveness Guide — practical application examples

HoangNguyen0403/agent-skills-standard/tree/main/skills/common/common-best-practices commit f41362598d

Frequently asked questions

npx skillmds@latest add hoangnguyen0403/common-best-practices