• .NET

    BDD. It's not about the tools but... just in case.

    The agile manifesto says "Individuals and interactions over processes and tools" and I completely agree, the processes and tools won't turn your project into a success story, the individuals and interactions will. But what if you're already satisfied with the individuals and interactions and you're starting to look for how you could make your life easier. And here comes the role of the tools - to bring as less overhead as possible and at the same time help you meet your goals easier. That's what I was looking for when I decided to give BDD a try. First I had to decide which of the following...
    January 19, 2009
  • .NET

    BDD. At first I was afraid, I was petrified.

    Yes, seriously, my first reaction to a post in which I noticed BDD-kinda-tests was something like "whoa, interesting naming convention for test method names, and all these underscores...". After that I came upon several other blog posts containing BDD tests and I still didn't get the idea. Then I read Dan North's post introducing the idea of Behavior Driven Development and I finally started catching the point. But catching the point at that time was not like "well, it's worth it and I'll try it" but rather like "ok, it's a TDD variation with some funky new lingo, so... ok". I could abandon...
    January 14, 2009
  • .NET

    Saving a few lines of code. Part III - The power of monads

    I won't go into detail about how you could use the maybe monad to save a few lines of code as Daniel Earwicker already blogged about it so you'd better read his post. Basically using the IfNotNull extension method you'll be able to replace lines of code like these: string[] url = SplitUrl(urlString); RecordCompany company = Music.GetCompany("4ad.com");     if (company != null)   {       Band band = company.GetBand("Pixies");       if (band != null)       {           Member member = band.GetMember("David");             if (member != null)               return member.Role;       }   }   return null;    with the following: return Music.GetCompany("4ad.com")...
    January 06, 2009
  • .NET

    Booths to visit if you'll be at PDC2008 and if you're inspired by the future

    Ok, Todd and Kevin already blogged about our presence at PDC this year and I'll second them. We have so many things to show that it's a petty PDC is only 4 days long, we'll need at least 2 weeks to show everything. Of course we have to show mercy to all the Telerik guys who will be nonstop at the Telerik booth so 4 days should be enough :)   Todd and Kevin already mentioned all the products, new features and releases we're about to demo at our booth. We'll also demo 2 "secret" projects which will show you the combined power of WPF and the new ways...
    October 24, 2008
  • .NET

    Saving a few lines of code. Part II - Doing reflection

    I was just about to write the second blog post of the series, this time involving currying, the forward pipe operator and other functional programming beauties when two people discouraged me from doing it. First Mike from the WinForms team kindly implied that with functional C# programming I can get some permanent brain damages and I definitely won't keep my audience concentrated. Then came Joe Zydeco's comment to my previous blog post and I gave up. I don't know why people don't like functional C# programming but point taken, no more functional C# in my blog posts (for those of you who like it,...