Wann ist es OK, um die Verwendung der GoTo-Anweisung in VB.Net?

Habe ich Prozess, Bedürfnisse zu schaffen, eine Reihe von Datensätzen in der Datenbank und alles rückgängig zu machen, wenn etwas schief geht. Was ich tun will, ist dies:

Public Structure Result
    Public Success as Boolean
    Public Message as String
End Structure

Private _Repository as IEntityRepository

Public Function SaveOrganization( _
    ByVal organization As rv_o_Organization) As Result
    Dim result = Result.Empty

    _Repository.Connection.Open()
    _Repository.Transaction = _Repository.Connection.BeginTransaction()

    ''//Performs validation then saves it to the database
    ''//using the current transaction
    result = SaveMasterOrganization(organization.MasterOrganization)
    If (Not result.Success) Then
        GoTo somethingBadHappenedButNotAnException
    End If

    ''//Performs validation then saves it to the database
    ''//using the current transaction
    result = SaveOrganziation(dbOrg, organization)
    If (Not result.Success) Then GoTo somethingBadHappenedButNotAnException

somethingBadHappenedButNotAnException:
    _Repository.Transaction.Commit()
    _Repository.Connection.Close()
    Return result
End Sub

Ist dies ein ok Verwendung der GoTo-Anweisung, oder einfach nur wirklich schlechtes design? Gibt es eine elegantere Lösung? Hoffentlich ist dieses Beispiel in der Lage ist, den Punkt über

wenn Sie einen Apostroph am Ende Ihrer Kommentare (damit Sie als strings behandelt) dann werden Sie rot hervorgehoben werden und der code wird leichter zu Lesen sein 🙂
Ich glaube nicht, dass Sie Gaben eine besonders nützliche Verwendung der GOTO-Anweisung. Ich halte mit GOTOs für diese triviale Ablaufsteuerung schlechte Praxis, wie Sie sein sollte-mit einer Methode, zu binden und schließen Sie die Repo.
dann haben Sie zu befürchten, Apostrophe sich in den Kommentaren und Sie werden hervorgehoben, wie string-Literale eher als Kommentare. Viel einfacher zu verwenden, eine zusätzliche '// an der front: dann wird es behandelt wie ein Kommentar und es kümmert sich nicht darum, einen zusätzlichen Apostroph.

InformationsquelleAutor Micah | 2009-02-19

Schreibe einen Kommentar