domains / orchestration / volcano-sh/volcano
Use descriptive naming
Choose variable, function, and method names that clearly communicate their purpose and behavior. Avoid ambiguous abbreviations, numbered suffixes, double negatives, and names that don't accurately reflect functionality.
Choose variable, function, and method names that clearly communicate their purpose and behavior. Avoid ambiguous abbreviations, numbered suffixes, double negatives, and names that don’t accurately reflect functionality.
Key principles:
- Use descriptive names over abbreviated ones:
preemptorPodPriorityinstead ofpodPriority,candidateHyperNodesinstead ofreScoreHyperNodes - Avoid numbered suffixes:
okinstead ofok1 - Eliminate double negatives: use
nodeIsReadyinstead of!nodeIsNotReady - Follow Go conventions: use camelCase, not underscores (
filterVictimsFnnotpreemptable_reclaimable_fn) - Ensure function names match their behavior: if a function does both predicate and scoring, name it accordingly like
checkNodeGPUSharingPredicateWithScore
Example:
// Poor naming
func (pmpt *Action) taskEligibleToPreemptOthers(preemptor *api.TaskInfo) (bool, string) {
podPriority := PodPriority(preemptor.Pod) // Unclear whose priority
// ...
}
// Better naming
func (pmpt *Action) taskEligibleToPreemptOthers(preemptor *api.TaskInfo) (bool, string) {
preemptorPodPriority := PodPriority(preemptor.Pod) // Clear ownership
// ...
}
Clear naming reduces cognitive load, prevents misunderstandings, and makes code self-documenting for future maintainers.