Функция с несколькими точками выхода: это хороший способ сделать? - PullRequest
0 голосов
/ 20 декабря 2011

во время программирования с использованием VBScript я пишу много кода для проверки ошибок в функциях, прежде чем функция начнет выполнять действия.Итак, если некоторые предварительные требования не были выполнены, я делаю «Выход из функции».Так, например:

public fucnton func
   if not condition then
     func = -1
     exit function
   End If
   'Other conditions with exit functions
   'Then long code goes here
   ..........
   ..........
   ..........
   func = res
End Function

Итак, я могу выйти из функции в нескольких точках.Это хороший способ сделать?В этом случае я получу длинную ветвь оператора if

Может быть, лучше написать:

public fucnton func
    if not condition then
        func = -1
    Else
        'Then long code goes here
        ..........
        ..........
        ..........
    End If  
End Function

Пожалуйста, поделитесь своими мыслями.

Ответы [ 2 ]

1 голос
/ 20 декабря 2011

Я использовал 'if (badParameters) затем выход' из стиля кодирования в течение десятилетий.Если ничего другого, то настоящий «длинный код», который выполняет эту работу, не отталкивается с правой стороны окна редактирования массивной лестницей «если / тогда / еще».Лестница делает код более запутанным и сложным, чем на самом деле, и ухудшает читаемость.

1 голос
/ 20 декабря 2011

Определенно лучше выйти из функции при обработке ситуации ошибки.Причиной является гораздо лучшая читаемость, избегая бесконечных вложенных ifs.

...