Плохой идентификатор

Опубликовано:
Translations:English

Не рекомендую использовать слова “wrong”, “good” или “bad” в коде. Эти слова часто встречаются в идентификаторах, но проскакивают и в других местах, например, в логах.

Во-первых, это слова из других видов искусства (сказки, фильмы). Их восприятие субъективно. Их значение настолько размыто, что его нет.

Во-вторых, сложно найти или создать осмысленный антоним для такого слова.

В-третьих, существуют более подходящие альтернативы. Valid/invalid, correct/incorrect (и многие другие) имеют четкое значение и красивые антонимы.

Видно ли, насколько проблематичен следующий код? Как понять, что тестируется?

package main

import (
	"math"
	"testing"
)

func TestSqrtWrongInputs(t *testing.T) {
	badInput := -1.0
	got := math.Sqrt(badInput)
	if !math.IsNaN(got) {
		t.Errorf("got not a good result")
	}
}