effective-commenting
SKILL.md
Effective Commenting
When to use
- Explaining complex business logic or algorithms.
- Documenting public APIs (Data layer → Domain layer).
- Clarifying non-obvious workarounds, hacks, or side effects.
- Warning about potential pitfalls or future refactoring needs.
Steps
- Assess Necessity: Review if the code can explain itself; if so, proceed without comments. Only comment if the code cannot convey the full context.
- Clarify via Naming: Rename methods and variables to describe their purpose explicitly.
- Document Intent: Write comments that explain the "why" (business context, constraints) behind the implementation.
- Finalize Output: Ensure only the active, necessary code remains, removing any temporary artifacts or disabled blocks.
- Distinguish Scope: Use
///for public API documentation and//for internal implementation notes.
Code
Bad Examples (Avoid)
// Step 1: Initialize list of users
// This variable stores user data
final users = <User>[];
// Loop through users to save them
for (var u in users) {
// validation logic
if (u.isValid) {
save(u); // AI thought: saving to database here
}
}
// Code below is deprecated
// void oldFunction() {
// print('old logic');
// }
Good Examples
/// Syncs user data with remote backend.
///
/// Throws [SyncException] if network fails or data is invalid.
Future<void> syncUser() async {
// Use a LinkedHashMap to preserve insertion order for UI rendering,
// as the backend returns unordered JSON but order matters here.
final cache = <String, User>{};
try {
await _api.fetch();
} catch (e) {
// Suppress 404 errors as they indicate "no data yet" for this specific
// endpoint, which is a valid state for new users.
if (e is NetworkException && e.statusCode == 404) return;
rethrow;
}
}
/// Example of self-explanatory code (No comments needed)
bool get isAdult => age >= 18;
Weekly Installs
3
Repository
yelmuratoff/agent_syncGitHub Stars
3
First Seen
Feb 27, 2026
Security Audits
Installed on
opencode3
gemini-cli3
github-copilot3
codex3
kimi-cli3
amp3