﻿<?xml version="1.0" encoding="utf-8"?><rss version="2.0"><channel><title>Ayende @ Rahien</title><link>http://ayende.com</link><description>Ayende @ Rahien</description><copyright>Copyright (C) Ayende Rahien  2004 - 2021 (c) 2026</copyright><ttl>60</ttl><item><title>Robert Taylor commented on Boo: Design By Contract in 20 lines of code</title><description>I'm guessing that Apply is inherited from AbstractAstAttribute and the compiler has a "built-in rule" to call Apply on all AbstractAstAttributes?
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment11</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment11</guid><pubDate>Wed, 26 Dec 2007 15:09:38 GMT</pubDate></item><item><title>Ayende Rahien commented on Boo: Design By Contract in 20 lines of code</title><description>During compilation, by the compiler
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment10</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment10</guid><pubDate>Wed, 26 Dec 2007 14:46:03 GMT</pubDate></item><item><title>Robert Taylor commented on Boo: Design By Contract in 20 lines of code</title><description>When is EnsureAttribute.Apply(...) called? and by what?
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment9</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment9</guid><pubDate>Wed, 26 Dec 2007 14:41:01 GMT</pubDate></item><item><title>Joe Gutierrez commented on Boo: Design By Contract in 20 lines of code</title><description>Do you have unit tests for the dynamic code?
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment8</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment8</guid><pubDate>Tue, 25 Dec 2007 00:51:10 GMT</pubDate></item><item><title>Ayende Rahien commented on Boo: Design By Contract in 20 lines of code</title><description>This will work:
  
  
[ensure(name is not null and name is not empty)]
  
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment7</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment7</guid><pubDate>Sat, 22 Dec 2007 16:56:08 GMT</pubDate></item><item><title>Joe Gutierrez commented on Boo: Design By Contract in 20 lines of code</title><description>How about something like this:
  
  
[ensure(name is not null) and (name is not empty)]
  
?
  
  
concatenations of operators?
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment6</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment6</guid><pubDate>Sat, 22 Dec 2007 16:29:58 GMT</pubDate></item><item><title>Ayende Rahien commented on Boo: Design By Contract in 20 lines of code</title><description>Tobin,
  
Yes, you can put this on methods as well.
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment5</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment5</guid><pubDate>Sat, 22 Dec 2007 15:14:40 GMT</pubDate></item><item><title>Tobin Harris commented on Boo: Design By Contract in 20 lines of code</title><description>That looks cool! I guess it would be easy to put them on methods too, such as: 
  
  
[invariant(name is not null)]
  
class Customer:
  
  
  [precondition(orders is not empty)], [postcondition(discount is not null)]
  
  def ApplyDiscount():
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment4</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment4</guid><pubDate>Sat, 22 Dec 2007 14:54:45 GMT</pubDate></item><item><title>Bill Barry commented on Boo: Design By Contract in 20 lines of code</title><description>That I realize, I was referring to the "person X thinks about it, you have already made a blog post about it" concept. It is like you are in all of our heads. 
  
  
(In this case your post came before my comment on the list, I just hadn't seen it yet.)
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment3</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment3</guid><pubDate>Sat, 22 Dec 2007 13:39:04 GMT</pubDate></item><item><title>Ayende Rahien commented on Boo: Design By Contract in 20 lines of code</title><description>Bill,
  
Take a look at the code and you'll understand how I come with it so fast. It is simple, when you know how.
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment2</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment2</guid><pubDate>Sat, 22 Dec 2007 07:39:38 GMT</pubDate></item><item><title>Bill Barry commented on Boo: Design By Contract in 20 lines of code</title><description>wow, that right there is basically what I just said on the alt.net list is a capability I wish would be available for C# 4.0. 
  
  
How do you come up with this stuff so fast?
</description><link>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment1</link><guid>http://ayende.com/3066/boo-design-by-contract-in-20-lines-of-code#comment1</guid><pubDate>Sat, 22 Dec 2007 05:08:55 GMT</pubDate></item></channel></rss>