Best Practices Checker Skill
Instructions
- Review code for best practice violations
- Check for DRY (Don't Repeat Yourself) violations
- Verify SOLID principles are followed
- Review error handling patterns
- Check testing practices and coverage
- Review documentation standards
- Check version control practices
- Return structured best practice reports with:
- File path and line numbers
- Best practice violation type
- Current code
- Suggested improvement
- Reason
- Priority (usually Should-Fix or Nice-to-Have)
Examples
Input: Code duplication Output:
### BEST-001
- **File**: `utils.js`, `helpers.js`
- **Lines**: 15-20 (utils.js), 30-35 (helpers.js)
- **Priority**: Should-Fix
- **Issue**: Duplicate code for calculating total price
- **Current Code**:
```javascript
// In utils.js
function calculateTotal(items) {
let total = 0;
for (let item of items) {
total += item.price;
}
return total;
}
// In helpers.js (duplicate)
function getTotal(items) {
let total = 0;
for (let item of items) {
total += item.price;
}
return total;
}
- Suggested Fix:
// In shared/utils.js export function calculateTotal(items) { return items.reduce((sum, item) => sum + item.price, 0); } // Import in both files import { calculateTotal } from './shared/utils'; - Reason: DRY principle - code duplication makes maintenance harder and increases bug risk
## Best Practice Areas to Check
- **DRY Violations**: Code duplication that should be extracted
- **SOLID Principles**: Single Responsibility, Open/Closed, Liskov Substitution, Interface Segregation, Dependency Inversion
- **Error Handling**: Consistent error handling patterns, proper error propagation
- **Testing**: Test coverage, test quality, testing patterns
- **Documentation**: Code comments, API documentation, README quality
- **Version Control**: Commit message quality, branch naming, git practices
- **Code Organization**: Logical file structure, module organization
- **Naming Conventions**: Clear, descriptive names
- **Function Size**: Functions that are too long
- **Complexity**: Cyclomatic complexity, nested conditionals
## Priority Guidelines
- **Must-Fix**: Best practice violations that cause bugs or significant maintainability issues
- **Should-Fix**: Best practice improvements that enhance code quality
- **Nice-to-Have**: Minor best practice enhancements
微信扫一扫