Re[2]: Проектирование по контракту
От: SergeyT. США http://sergeyteplyakov.blogspot.com/
Дата: 29.08.10 19:55
Оценка:
Здравствуйте, Wolverrum, Вы писали:

W>А неплохо написано!


А тут для этого кнопочка специальная есть

W>Одно замечание лишь, что все описанное специфично для .net, и слегка заангажированно ("но именно сегодня, после появления контрактов на платформе .net, началось бурное обсуждение этого явления компьютерным сообществом.")


В этой статье я вообще старался минимально касаться специфики реализации Design by Contract конкретным языком или платформой. Все эти примеры в считанные минуты переписываются на Eiffel-е без каких-либо проблем, но поскольку Eiffel ну уж никак нельзя назвать mainstream-языком, а также потому, что примеры на C# просто легче читаются большинством разработчиков я выбрал именно .net.

Теперь по поводу "легкой заангажированности": здесь нет "ничего личного, только факты"
А если серьезно, то ведь на самом деле этим идеям (Design by Contract) уже два с хвостом десятка лет, но если сейчас погуглить на эту тему, то большая часть материала будет касаться именно Code Contracts. Ведь до этого времени, единственном языком с полноценной поддержкой ППК был Eiffel, но несмотря на все его достоинства он ведь так и не получил достаточного распространения. В других же популярных языках и платформах встроенной поддержки ППК нет; хотя многие из них поддерживают часть функционала с помощью "лома и какой-то матери", поэтому практически никто не использует нечто подобное в промышленном коде.

.net — это первая (и пока единственная) mainstream-платформа с поддержкой не только самих контрактов (которые являются только частью ППК), но и статистического анализа и возможностей генерации документации по самим контрактам. А когда за дело берется кто-то таких крупных игроков, то к этой вещи присматриваются гораздо сильнее; об этом сразу пишут в книгах (тот же Джон Скит посвятил Code Contracts отдельную статью в своей новой книге C# in Depth 2nd Edition), об этом начинают писать в статьях и говорить на форумах.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.