Linus
Независимо от того, работает ли это, я не фанат подхода «задание в тесте». Я думаю, что слишком легко упустить из виду НАЗНАЧЕНИЕ, которое является потенциальным (и его легко избежать) источником будущих ошибок ... Я думаю, что эта обычно используемая парадигма кодирования "немного небрежно".
Почти во всех "современных" языках вы можете создать и назначить локальную переменную за один шаг ... который я нахожу кратким, самоочевидным и в высшей степени удобочитаемым.
var stuff = getStuff();
if (stuff == null) {
Message("Sorry, no stuff found.");
return;
}
стихи
var thing, widget, stuff, foo;
.... then many lines later ...
if ((stuff=getStuff())) {
// do things with stuff
} else {
// no stuff
Message("Sorry, no stuff found.");
}
Как вы можете сказать, я также не являюсь поклонником старой поговорки о "структурированном программировании" о том, что для каждой функции / метода / сценария должна быть одна точка выхода. Вместо этого я считаю, что всякий раз, когда мы сталкиваемся с ситуацией, которая означает, что мы не можем продолжать здесь, мы должны уйти самым прямым возможным путем. Это просто личное предпочтение. Вы можете сделать обоснованные аргументы для любого подхода.
Одно слово: что бы вы ни делали, делайте это ПОСТОЯННО! Программист, который (через несколько лет, когда вы двинулся дальше) отвечает за улучшение кода, поймает достаточно быстро, чтобы "ваш стиль". Им может не нравиться это, но это действительно не важно, пока они ПОНИМАЮТ это. Всегда есть компромисс между краткостью и ясностью ... нет "правильного" стиля ... просто некоторые стили, кажется, работают лучше, чем другие, в долгосрочной перспективе.
ПОЦЕЛУЙ, сын мой, и краткость.
Приветствия. Кит.