Является ли эта проблема более или менее языком
конкретные (могут ли не-JS люди учиться
уроки здесь?)
Это проблема, не зависящая от языка. На Java довольно легко написать, например:
if(x)
{
//do something
}
else if(!x)
{
//do something else
}
else
{
//never, ever, do anything
}
Главное, что нужно помнить, это то, что "if (! X)" не требуется. Делая это простым «остальным», мы получим более простой код.
Are there legitimate reasons code ended up this way?
В некотором роде. Это стандартная практика, когда условие else всегда существует, когда необходим провал. Проблема заключалась в том, что программист не думал, что он очень ясно: его «(form_field! = Empty)» было точно таким же, как простое «другое». Укажите это ему, и он должен ударить себя. Если нет, поставьте под сомнение его роль в команде.
Какие подходы следует использовать для
найти / решить проблему (код
покрытие, обзор кода, черный ящик
тестирование и т. д.)
Инструменты статического анализа кода могут решить эту проблему. Тем не менее, я не знаю ни одного для Javascript. JSLint может поймать много плохих вещей, но не проблемы логического потока.