Skill: Imprecise Names
Imprecise names — every new identifier must describe exactly what it contains. A reader should not be able to mistake it for something broader or narrower.
- Builder/wrapper methods that drift from the package's existing pattern (e.g. adding
AddLabel(k, v)when the rest of the package usesLabel(k, v)). - Variables whose contents contradict the name — e.g. a set called
noMoreBorrowingCohortsthat actually contains cohorts which are still borrowing. - Feature gates whose name does not match what they actually gate. A gate named
SkipFinalizersForServingWorkloadsthat controls a different condition is a hard naming violation. - Asymmetric mirror fields on a CRD — if
excludeResourcePrefixesexists, the complement must beincludeResourcePrefixes, not a freshly invented name.