csharp-readable-code
Installation
SKILL.md
C# Readable Code
Default Style
- Prefer focused classes, explicit responsibilities, intention-revealing names, readable control flow, and minimal incidental complexity.
- Use design patterns only when they fit a current problem naturally.
- Replace broad utility classes that mix creation, mapping, conversion, logging, or key formatting with cohesive instance collaborators.
- Name a semantically important intermediate result when nesting non-trivial calls would obscure intent.
- Prefer simple words that non-native speakers can understand without looking them up.
Members And Names
- Use PascalCase for types, properties, methods, and other project-owned public members.
- Represent state and accessors as properties. Do not create getter-like noun methods.
- Name boolean properties and predicates with
Is,Has,Can,Should, or another phrase that reads as a state or question. - Name operations with verb phrases. Do not repeat information already carried by the receiver, containing type, or return type unless it distinguishes variants at the call site.
- Append
Asyncto project-owned methods that returnTaskorValueTask. Preserve a different name only when a framework contract, interface, or override requires it. - Classify each new or renamed member as a property, predicate, operation, or construction helper before accepting its name.