2010-06-09 4 views
0

Допустим, у меня есть этот сабвуфер в VB.NET:VB.NET документация и исключение

''' <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 

Прилично назвать эту ValidateNotNull (который я бы назвал его в C#) или я должен придерживаться Visual Basic и назовите его ValidateNotNothing вместо этого? Кроме того, в моем исключении, правильно ли сказать «не может быть null», или было бы лучше сказать «не может быть ничто»?

Я вроде как у меня есть, но так как это Visual Basic, возможно, я должен использовать Nothing. Но поскольку само исключение называется ArgumentNullException, кажется странным заставить сообщение сказать «не может быть ничем».

ответ

4

Я думаю, что вы прекрасно придерживаетесь Null. Это не без прецедента. Например, разработчики платформы .NET не создали String.IsNothingOrEmpty для сообщества VB. И это также не похоже на то, что Null - это неопределенная концепция, кто-нибудь, кто запрограммировал или работал с базой данных дольше недели, видел это.

Имея это в виду, все в порядке, чтобы рассмотреть вашу аудиторию. Если ваш код входит в библиотеку классов, которые могут использоваться другими разработчиками, эти разработчики могут привыкнуть к тому, что значение null равно null. С другой стороны, если это строго часть некоторой базы кода, которая будет поддерживаться только, то люди VB, смотрящие на нее, могут ожидать увидеть «Nothing». Соблюдайте стандарты как можно лучше, но знайте, что стандарты вашего языка могут не обязательно соответствовать стандартам ваших потребителей.

Но, как было сказано ранее, Null должно быть в порядке.

1

Кроме того, в моем исключения, это свойственно сказать, «не может быть пустым», или это будет лучше сказать, «не может быть ничего»?

несколько инструментов (включая наш VSdocman) принимают < см langword = "нуль"/>. Это даст точно такой же текст, как MSDN: «null reference (Nothing в Visual Basic)». Вы можете использовать его также для других ключевых слов, таких как true, false, abstract и т. Д. Более подробную информацию см. В разделе .

+0

Ах, извините. Я не понял этот вопрос. Я имел в виду документацию об исключениях, в которой вы используете null. Теперь я обнаружил, что вы имели в виду сообщение об исключении. –

+0

+1 Еще приятный отзыв :) – Ergwun

Смежные вопросы