Какие у тебя критерии хорошего кода

«Какие у тебя критерии хорошего кода» — вопрос из категории Софт-скиллы, который задают на 23% собеседований Golang Разработчик. Ниже — развёрнутый пример ответа, который можно адаптировать под свой опыт.

Ответ

Читаемость - код должен быть понятен без комментариев. Имена переменных/функций должны явно отражать их назначение.

Простота - чем меньше сложности, тем лучше. Избегайте излишнего абстрагирования и "умного" кода.

Эффективность - код должен работать оптимально для своей задачи, но не в ущерб читаемости.

Тестируемость - код должен быть легко покрываем тестами. Избегайте глобальных состояний.

Пример хорошего кода:

func CalculateDiscount(price float64, isPremium bool) float64 {
    const premiumDiscount = 0.2
    const regularDiscount = 0.1

    if isPremium {
        return price * premiumDiscount
    }
    return price * regularDiscount
}

Пример плохого кода:

func CD(p float64, iP bool) float64 {
    d := 0.1
    if iP { d = 0.2 }
    return p*d
}