2010-06-09 6 views
0

Disons que j'ai ce sous en VB.NET:documentation et VB.NET exception

''' <summary> 
    ''' Validates that <paramref name="value"/> is not <c>null</c>. 
    ''' </summary> 
    ''' 
    ''' <param name="value">The object to validate.</param> 
    ''' 
    ''' <param name="name">The variable name of the object.</param> 
    ''' 
    ''' <exception cref="ArgumentNullException">If <paramref name="value"/> is <c>null</c>.</exception> 
    Sub ValidateNotNull(ByVal value As Object, ByVal name As String) 
     If value Is Nothing Then 
      Throw New ArgumentNullException(name, String.Format("{0} cannot be null.", name)) 
     End If 
    End Sub 

Est-il approprié d'appeler cette ValidateNotNull (qui est ce que je qualifierais en C#) ou devrais-je tenir à Terminologie Visual Basic et appelez-le ValidateNotNothing à la place? Aussi, à mon exception, est-il approprié de dire «ne peut pas être nul», ou serait-il préférable de dire «ne peut être rien»?

Je ressemble un peu à la façon dont je l'ai, mais comme c'est Visual Basic, peut-être que je devrais utiliser Nothing. Mais puisque l'exception elle-même est appelée ArgumentNullException, il semble bizarre de faire dire au message "ne peut être rien".

Répondre

4

Je pense que vous allez bien avec Null. Ce n'est pas sans précédent. Par exemple, les développeurs du framework .NET n'ont pas créé String.IsNothingOrEmpty pour la communauté VB. Et ce n'est pas non plus comme Null est un concept vague, toute personne qui a programmé ou travaillé avec une base de données pendant plus d'une semaine l'a vu. Dans cette optique, il est bon de tenir compte de votre auditoire. Si votre code va dans une bibliothèque de classes qui peut être utilisée par d'autres développeurs, ces développeurs peuvent être habitués à voir null comme nulle. D'un autre côté, si cela fait strictement partie d'une base de code qui ne sera maintenue, alors les gens VB qui la regardent peuvent s'attendre à voir "Nothing". Conformez-vous aux normes du mieux que vous le pouvez, mais sachez que les normes de votre langue ne sont pas nécessairement celles de vos consommateurs.

Mais comme dit précédemment, Null devrait être bon.

1

De plus, à mon exception, est-il propre à dire « ne peut pas être nulle », ou serait-il préférable de dire « ne peut être rien »?

Plusieurs outils (y compris notre VSdocman) acceptent < voir langword = "null"/>. Cela produira exactement le même texte que MSDN: "référence null (Nothing dans Visual Basic)". Vous pouvez également l'utiliser pour d'autres mots clés tels que true, false, abstract, etc. Voir pour plus de détails.

+0

Ah, désolé. J'ai mal compris la question. Je faisais référence à la documentation d'exception où vous utilisez null. Maintenant, j'ai trouvé que vous vouliez dire un message d'exception. –

+0

+1 Encore un bon conseil :) – Ergwun