-Поиск по дневнику

Поиск сообщений в rss_sql_ru_access_programming

 -Подписка по e-mail

 

 -Постоянные читатели

 -Статистика

Статистика LiveInternet.ru: показано количество хитов и посетителей
Создан: 16.03.2006
Записей:
Комментариев:
Написано: 4


Упростить выражение

Четверг, 02 Июля 2015 г. 10:20 + в цитатник
Вот в этом классе, заботливо :) предложенным \\\\ 17840035,
встретился такой вот код:

Friend Function SetEOF(Optional ByVal p_lBytes& = -1, _
                       Optional ByVal p_enOffset As CFile_SeekOffsets = 0) As Boolean
Dim lReturn As Long

    If (IsOpen = False) Then Exit Function
    If ((p_lBytes <> -1) And (p_enOffset = 0)) Then Exit Function
    If (p_lBytes <> -1) Then _
        If SeekTo(p_lBytes, p_enOffset) = False Then Exit Function
    lReturn = SetEndOfFile(m_hFile)
    SetEOF = (lReturn <> 0)

' который я привел к такому виду
' 
    If (IsOpen) Then
        If Not (p_lBytes = -1) Then
            If Not (p_enOffset = 0) Then
                If Not SeekTo(p_lBytes, p_enOffset) Then
                    Exit Function                      '  *** EXIT ***
                End If
            End If
        End If
        lReturn = SetEndOfFile(m_hFile)
        SetEOF = (lReturn <> 0)
    End If
End Function


Есть ли возможность упростить его дальше, чтобы после цепочки проверок осталась только исполняемая часть, без этой дурацкой Exit Function?

Как я ни крутил - не получается :(

Мне жуть так не нравятся эти условные переходы в принципе и я постоянно вступаю в эти грабли. Поэтому стараюсь избавиться. Или, на худой уж конец - декорировать, чтобы в глаза бросалось.
.

http://www.sql.ru/forum/1164114/uprostit-vyrazhenie


 

Добавить комментарий:
Текст комментария: смайлики

Проверка орфографии: (найти ошибки)

Прикрепить картинку:

 Переводить URL в ссылку
 Подписаться на комментарии
 Подписать картинку