tag:blogger.com,1999:blog-5422036137568788209.post4606093791756327998..comments2023-02-28T12:04:19.260+03:00Comments on handcode: Проверяем входные данныеИлья Дубаденкоhttp://www.blogger.com/profile/03756815679135463187noreply@blogger.comBlogger5125tag:blogger.com,1999:blog-5422036137568788209.post-15596298378083510332011-07-12T15:08:45.938+04:002011-07-12T15:08:45.938+04:00О Боже, ждать новой версии аж целого фреймворка дл...О Боже, ждать новой версии аж целого фреймворка для такой фигни, которую на нормальном языке добавить в этот самый язык -- дело двух минут... Blub-шиза в действии!..Dmitryhttps://www.blogger.com/profile/17434341697941378483noreply@blogger.comtag:blogger.com,1999:blog-5422036137568788209.post-58592583548690777532011-05-23T19:12:25.628+04:002011-05-23T19:12:25.628+04:00@Andrey: Илья открывает возможность обработать нек...@Andrey: Илья открывает возможность обработать некорректный параметр и по моему мнению делает это правильно.<br /><br />Для .net 4 мы получили класс контрактов<br />System.Diagnostics.Contracts Namespace<br />http://msdn.microsoft.com/en-us/library/dd287492.aspx<br />(cмотрите доку в самом низу страницы)Oleg Kalenbethttps://www.blogger.com/profile/08871731188340173889noreply@blogger.comtag:blogger.com,1999:blog-5422036137568788209.post-37031055850946955192011-05-20T11:27:03.580+04:002011-05-20T11:27:03.580+04:00@Andrey
Хорошо, тогда приведите пожалуйста пример ...@Andrey<br />Хорошо, тогда приведите пожалуйста пример валидации через DataAnnotations конкретно для моего примера.Илья Дубаденкоhttps://www.blogger.com/profile/03756815679135463187noreply@blogger.comtag:blogger.com,1999:blog-5422036137568788209.post-48466303412547941262011-05-20T01:26:40.101+04:002011-05-20T01:26:40.101+04:00Я бы воздержался от таких резких комментариев и по...Я бы воздержался от таких резких комментариев и посоветовал автору поста выше почитать msdn<br /><br />http://msdn.microsoft.com/ru-ru/library/cc488527(v=vs.90).aspx<br /><br />http://msdn.microsoft.com/ru-ru/library/ee256141.aspx<br /><br />Это конечно не проверка параметров в методе, но развиваться может. По сути добавление нового атрибута может решить все проблемы, так что всё реально.<br /><br />Из существующих "костылей" видел такое:<br />http://brainster.org/dev/dotnet-code-contracts/Andreyhttps://www.blogger.com/profile/15060498492852443636noreply@blogger.comtag:blogger.com,1999:blog-5422036137568788209.post-47407062363735083882011-05-14T10:52:12.731+04:002011-05-14T10:52:12.731+04:00Синтаксически стало выглядеть красивее, но смысл о...Синтаксически стало выглядеть красивее, но смысл от этого не поменялся -- все те же самые проверки, которые программист должен писать вручную.<br />Проверки на null -- общая беда мейнстримовых языков, и решить их в пределах технологии C# или Java -- нереально. Все равно самостоятельно придется находить опасные места и дописывать туда обработку null-ов.<br />Особенно обидно, что технологии, позволяющей решить эту проблему, уже лет 50. Я говорю о семействе языков Lisp: Common Lisp, Scheme и Clojure. В ту же Clojure, например, такие проверки встроены в язык, и программисту ничего не нужно дополнительно делать вручную: http://clojuredocs.org/clojure_core/clojure.core/if-let. <br />Но даже не это важно. Главное, что если бы такой функциональности не было, на любом из лиспов реализовать ее -- раз плюнуть. Пример: http://my-clojure.blogspot.com/2011/01/java-null.html.Dmitryhttps://www.blogger.com/profile/17434341697941378483noreply@blogger.com