Школа179: Ретурнобулофобия

https://ejudge.179.ru/wiki     Редакция: 0 (20.08.2016 16:58)

Ретурнобулофобия

Ретурнобулофобия – боязнь начинающих программистов использовать логическое выражение в инструкции return при возвращении значения из булевой функции.

Симптомы: использование следующей конструкции в программе

PHP
# Python
def f():
    ...
    if expression:
       return True
    else
       return False


PHP
// C++
bool f()
{
    ...
    if (expression)
       return true;
    else
       return false;
}



или такой конструкции:

PHP
# Python
def f():
    ...
    if expression:
       return True
   return False


PHP
// C++
bool f()
{
    ...
    if (expression)
       return true;
    return false;
}


Лечение: использование следующей конструкции:
PHP
# Python
def f():
    ...
    return expression


PHP
// C++
bool f()
{
    ...
    return expression;
}


Чуть более сложная в лечении форма ретурнобулофобии:
PHP
# Python
def f():
    ...
    if expression:
       return False
    else
       return True


PHP
// C++
bool f()
{
    ...
    if (expression)
       return false;
    else
       return true;
}


Лечение аналогично, с использованием логического отрицания.

Некоторые исследователи также считают формой ретурнобулофобии использование в логических выражений конструкций вида

PHP
expression == True


или

PHP
expression == False


Например:

PHP
# Python
if IsPrime(n) == True:
    print("Prime")
else:
    print("Composite")


PHP
// C++
if (IsPrime(n) == True)
    cout << "Prime" << endl;
else
    cout << "Composite" << endl;


Лечение: == True можно опустить, == False заменить на логическое отрицание.