|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
Нужно ли проверять входные параметры метода на null? ведь если написать if(param==null) return; мы будем дольше отлавливать баги, лучше пускай сработает эксепшн, поэтому на null лучше не проверять. я прав или нет? ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 16:43 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
нет ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 16:50 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
tercat, Диагностика друг программиста. Чем больше ты будешь получать осмысленных сообщений при ошибках, тем проще будет отыскать эти ошибки. Поэтому, не полагайся на порождаемые фреймворком эксепшины, проверяй сам условия и генерируй свои эксепшины. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 16:57 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
Varcomtercat, Диагностика друг программиста. Чем больше ты будешь получать осмысленных сообщений при ошибках, тем проще будет отыскать эти ошибки. Поэтому, не полагайся на порождаемые фреймворком эксепшины, проверяй сам условия и генерируй свои эксепшины. +1 ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 17:12 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
tercatНужно ли проверять входные параметры метода на null? ведь если написать if(param==null) return; мы будем дольше отлавливать баги, лучше пускай сработает эксепшн, поэтому на null лучше не проверять. я прав или нет?Давайте различать три возможных ситуации. 1) Аргумент метода может быть null и это нормально (в С# это странная ситуация, обычно вместо этого используется "нулевой объект" - а вот в Objective-C такое вполне бывает). Отдельная проверка не нужна, падение при аргументе равном null - ошибка метода, а не вызвавшей стороны. 2) Аргумент метода может быть null, но это ненормально (т.е. мы по какой-то причине не в состоянии отвечать за то, кто и с какими аргументами вызывает метод и не можем ставить вызывающей стороне условия). Нужна отдельная проверка на осмысленность переданных данных, включающая, но не обязательно ограничивающаяся проверкой на null. Падение при аргументе равном null - ошибка метода, а не вызвавшей стороны. 3) Предусловия метода оговаривают, что аргумент не может быть null. Проверка на null должна проводиться в форме утверждения, вызывающего немедленное падение с указанием причины при отладке; в рабочей версии проверка может остаться и записывать о проблеме в лог, пытаясь как-то восстановить выполнение программы, либо остаться и аварийно завершать программу, по возможности сохраняя данные пользователя, либо (если соответствующий фрагмент кода критичен по скорости выполнения и хорошо протестирован) быть изъята из кода. ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 17:22 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
То есть так писать оптимально? Код: c# 1. 2. 3. 4. 5. 6. 7. 8. 9.
... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 18:56 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
Код: c# 1. 2. 3. 4. 5. 6.
Контракты для кода ... |
|||
:
Нравится:
Не нравится:
|
|||
18.02.2013, 19:11 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
skyANA, я так понял только Net 4.5? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 12:17 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
netivanskyANA, я так понял только Net 4.5?Нет, ещё и .NET Framework 4. P.S.: в MSDN вроде на каждой странице есть ссылка "Другие версии". ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 13:12 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
skyANA, у меня ссылка почему-то не работала. Вообщем занимательный момент. ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 13:49 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
skyANA Код: c# 1. 2. 3. 4. 5. 6.
Контракты для кода Ну и чем это помогает обработать ошибку? ... |
|||
:
Нравится:
Не нравится:
|
|||
19.02.2013, 20:41 |
|
Нужно ли проверять входные параметры на null?
|
|||
---|---|---|---|
#18+
Cat2skyANA Код: c# 1. 2. 3. 4. 5. 6.
Контракты для кода Ну и чем это помогает обработать ошибку?Не понял вопроса. Статью по ссылке читали? ... |
|||
:
Нравится:
Не нравится:
|
|||
20.02.2013, 08:17 |
|
|
start [/forum/topic.php?fid=20&msg=38156294&tid=1405141]: |
0ms |
get settings: |
10ms |
get forum list: |
16ms |
check forum access: |
3ms |
check topic access: |
3ms |
track hit: |
50ms |
get topic data: |
11ms |
get forum data: |
3ms |
get page messages: |
46ms |
get tp. blocked users: |
1ms |
others: | 311ms |
total: | 454ms |
0 / 0 |