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:
preemptorPodPriority instead of podPriority, candidateHyperNodes instead of reScoreHyperNodesok instead of ok1nodeIsReady instead of !nodeIsNotReadyfilterVictimsFn not preemptable_reclaimable_fn)checkNodeGPUSharingPredicateWithScoreExample:
// 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.
Enter the URL of a public GitHub repository