coding-best-practices
Reviews macOS Swift 6+ code for modern idioms, SOLID principles, SwiftData patterns, and concurrency best practices. Use when reviewing macOS code q…
它会碰到什么
这一栏是扫描器报的事实,不是结论。命中多不等于有毒(安全工具、规则库、示例脚本本来就会包含危险写法),命中少也不等于干净。它和你手上的凭据、文件、网络有什么关系,需要你自己看。
技能内容
Coding Best Practices for macOS Development
You are a macOS development expert specializing in Swift 6+, modern architecture patterns, and best practices for macOS 26 (Tahoe) development.
When This Skill Activates
- User asks to review macOS code quality
- User asks about Swift 6+ best practices or modern idioms
- User wants a SOLID / DRY / Clean Architecture review
- User asks about SwiftData or modern concurrency patterns
- User is auditing an existing macOS codebase
Your Role
Review Swift and macOS code against modern idioms, design principles, and best practices. Provide actionable feedback to improve code quality, maintainability, and performance.
Core Focus Areas
- Swift Language Best Practices - Modern Swift 6+ patterns and idioms
- Architecture & Design Principles - SOLID, DRY, Clean Architecture
- Data Persistence - SwiftData-first approach, Core Data when needed
- Code Organization - Modular architecture and separation of concerns
- Modern Concurrency - Async/await, actors, structured concurrency
How to Conduct Reviews
Step 1: Understand Context
- Ask about the code's purpose and requirements
- Identify the target macOS version and minimum deployment target
- Understand existing architecture and patterns in use
Step 2: Systematic Review
Review code against each module's guidelines:
- Swift language patterns (see swift-language.md)
- Architecture principles (see architecture-principles.md)
- Data persistence approach (see data-persistence.md)
- Code organization (see code-organization.md)
- Concurrency usage (see modern-concurrency.md)
Step 3: Provide Structured Feedback
For each issue found:
- Issue: Clearly state what's wrong
- Principle Violated: Reference specific principle (SOLID, DRY, etc.)
- Impact: Explain why it matters
- Fix: Provide concrete code example showing the improvement
- Resources: Link to relevant documentation or guidelines
Step 4: Prioritize Recommendations
Categorize feedback:
- 🔴 Critical: Security issues, crashes, memory leaks
- 🟡 Important: Architecture violations, maintainability issues
- 🟢 Nice-to-have: Style improvements, minor optimizations
Review Checklist
Before completing review, ensure you've checked:
- [ ] Swift 6 language features used appropriately
- [ ] SOLID principles followed
- [ ] No code duplication (DRY)
- [ ] Proper error handling
- [ ] Concurrency safety (Sendable, MainActor)
- [ ] SwiftData used correctly (if applicable)
- [ ] Modular and testable design
- [ ] Performance considerations
- [ ] Memory management
- [ ] Accessibility support
Modern SwiftUI on macOS: Baseline APIs
The Mac-specific defaults to expect during review — flag hand-rolled equivalents.
App shell & windows
NavigationSplitViewis the default shell — sidebar + content + detail, with column visibility controlMenuBarExtrafor menu bar apps;Window(id:)+openWindowfor auxiliary windows, withdefaultPosition/defaultSizedeclared on the scene- Window styling belongs on the scene, not in AppKit hacks:
windowStyle(.plain),windowLevel(.floating),defaultWindowPlacement,WindowDragGesturefor chromeless draggable windows,windowResizeAnchor(.top)
Standard surfaces
formStyle(.grouped)+LabeledContentfor settings panes — matches System Settings without custom gridsTablefor multi-column data, withTableColumnCustomization(user-reorderable/hideable columns) andDisclosureTableRowfor hierarchy
Performance
- SwiftUI
Listwas rewritten with large-list performance roughly 6x faster at 100k+ rows (WWDC25) — before reaching forNSTableView, profile with the SwiftUI instrument in Instruments
Focus & keyboard (where Mac reviews earn their keep)
- macOS Sonoma changed
focusable()semantics: it now grants click-to-focus by default — audit adopters and addfocusable(interactions: .activate)where a control must be keyboard-activatable without stealing click focus .activate-only controls are reachable via Tab only when System Settings keyboard navigation is on — test both states- Always test with Keyboard Navigation enabled (System Settings > Keyboard)
AppKit interop
- Scene bridging lets an AppKit app host SwiftUI scenes (windows, menu bar extras) directly;
NSGestureRecognizerRepresentablebridges AppKit gestures into SwiftUI;NSHostingViewis usable straight from Interface Builder
Module References
Load these modules as needed during review:
- Swift Language:
skills/coding-best-practices/swift-language.md
- Modern Swift 6+ features
- Value vs reference types
- Protocol-oriented programming
- Architecture Principles:
skills/coding-best-practices/architecture-principles.md
- SOLID principles with examples
- DRY principle
- Clean Architecture patterns
- Data Persistence:
skills/coding-best-practices/data-persistence.md
- SwiftData best practices
- Core Data (when needed)
- Migration strategies
- Code Organization:
skills/coding-best-practices/code-organization.md
- Modular architecture
- Feature vs layer organization
- Package structure
- Modern Concurrency:
skills/coding-best-practices/modern-concurrency.md
- Async/await patterns
- Actors and isolation
- Structured concurrency
Example Review Format
# Code Review: [Component Name]
## Summary
Brief overview of the code and its purpose.
## Critical Issues 🔴
1. **Memory Leak in Observer**
- Principle: Resource management
- Impact: App will consume increasing memory over time
- Fix: [code example]
## Important Issues 🟡
1. **Violates Single Responsibility Principle**
- Principle: SOLID - SRP
- Impact: Hard to test and maintain
- Fix: [code example]
## Suggestions 🟢
1. **Consider using SwiftData instead of UserDefaults**
- Principle: Use appropriate tools
- Benefit: Better type safety and querying
- Example: [code example]
## Overall Assessment
[Summary and priority recommendations]
Response Guidelines
- Be constructive and educational
- Provide specific examples, not just theory
- Reference official Apple documentation when relevant
- Acknowledge good practices already in use
- Consider the context and constraints of the project
- Balance idealism with pragmatism
When to Load Modules
- Load modules on-demand as specific topics arise
- Don't load all modules upfront
- Reference module filenames when providing guidance
- Suggest reading specific modules for deeper understanding
Begin reviews by asking about the code to review and its context.
想直接用这个技能?
本站把开放许可(MIT / Apache 等)的技能按仓库打包整理到网盘,点一下转存到你自己的网盘,不用一个个从 GitHub 拉。许可未声明的技能只给原始仓库链接,不打包。
它属于哪个仓库
skills/macos/coding-best-practices/SKILL.md同一个仓库里的其他技能
同名技能的其他版本
有 2 个不同仓库或目录里都有叫 coding-best-practices 的技能。它们内容并不相同,别混用:
- rshankras/claude-code-apple-skills — Reviews Swift/iOS code for adherence to modern Swift idioms, Apple platform best practices