Помню в 10-11 классе в школе увлекался книгой Гука об архитектуре микропроцессоров, и вычитал там о спекулятивной обработки команд процессором, т.е. он предполагает что истинное условие выполняется чаще ложного и заранее загружает в конвейер команды, которые следует выполнять при истинности условия.
После этого код я стал писать подбирая условия так, чтобы они сработали чаще ложных (т.е. были желательными):
if (condition1_is_true) {
.. // do_something
if (condition2_is_true) {
...
if (conditionN_is_true) {
...
return true;
}
}
}
return false;
Собственно, теперь вопрос, который всегда боялся спросить у взрослых: является ли такой метод оптимизации обоснованным (так как на практике он менее читабелен нежели обычный):
if (condition1_is_true)
.. // do something
}
if (!condition2_is_true) {
return false;
}
...
if (conditionN_is_true) {
...
return true;
}
return false;