Friday Goodie Bag

by Clint Edmonson on February 27, 2009

Some cool things I’ve encountered over the past couple of weeks…

 

Code Contracts for .NET

This is a preview from the visual studio developer labs group that implements Design by Contract (DBC) principles as espoused by Bertrand Meyer in the Eiffel language. Code Contracts provide a language-agnostic way to express coding assumptions. The contracts take the form of pre-conditions, post-conditions, and invariant object states. The preview uses a small class framework and some compiler hooks to perform runtime and static compile time DBC rule checking. The preview will work with VS 2008 and the CTP of VS 2010. I’m a huge fan of DBC and from what’s said in the interview, it looks like DBC will be integrated into the 4.0 release of the .NET framework. Wohoo!

 

Top 25 Most Dangerous Programming Errors

Experts from more than 30 US and international cyber security organizations jointly released this consensus list of the 25 most dangerous programming errors that lead to security bugs and that enable cyber espionage and cyber crime. Shockingly, most of these errors are not well understood by programmers; their avoidance is not widely taught by computer science programs; and their presence is frequently not tested by organizations developing software. Every member of your development staff needs to read this bulletin.

 

UI Design for Developers Video Series

Building an application with a good user experience is about more than pretty pixels and is every bit as important as the business logic in most applications. Here’s a link to some outstanding tutorials on the principles of graphic design produced by the Microsoft Platform & Tools Team. They’re short, very informative and cover the essential elements of graphic design.

 

Five Step UML: OOAD for Short Attention Spans

I’m a huge fan of UML and I was thrilled when we announced UML support in Visual Studio 2010. If you’d like to get a head start, this book excerpt will wet your appetite. FYI - I’m planning a series of screen casts that show the basics of OOAD using UML in VS 2010 and will highlight the architectures described in the recently updated Application Architecture Guide 2.0 book.

 

Modular Data Centers

powerhouse

This is just plain wild and for those of you who don’t think cloud computing is coming, think again. Data centers are becoming more and more modular and pluggable as the industry evolves towards a utility computing model (which I think is the right direction) and ALL the major players are banking on it. This article showcases one of the first offerings from HP.

 



Friday Goodie Bag

by Clint Edmonson on January 23, 2009

I’ve run across a variety of really interesting things since the start of the new year. Enjoy!

 

Application Architecture Pocket Guides

After releasing the Application Architecture Guide 2.0 , the patterns & practices team delivered on feedback to produce smaller more tactical guides for their agile methodology as well as specific application archetypes described in the book. Here are the initial set of pocket guides:

· Agile Architecture Method Pocket Guide

· Web Application Architecture Pocket Guide

· Mobile Application Architecture Pocket Guide

· RIA Architecture Pocket Guide

· Rich Client Application Architecture Pocket Guide

· Service Architecture Pocket Guide

You can browse the index of Pocket Guides at the Pocket Guide Index page at our Application Architecture KB on CodePlex.

 

Detect duplicate C# code with Clone Detective for Visual Studio 2008

This is a killer add-in for Visual Studio that detects all that copy & paste coding your coworkers have been doing (‘cause of course you would never do that). Long live the DRY principle!

 

Windows 7 is GPS location aware

Here’s an example application with source code that shows how to tap into the Windows 7 Location Platform in combination with Virtual Earth to track movement. Very cool.

 

Windows 7 Secret Tips

A big list of some new hidden gems in Windows 7 that you wouldn’t find on your own. If you haven’t downloaded and tried out the Windows 7 beta on a VPC image at least, I highly recommend you give it a go. It’s getting rave reviews from the media.

 

Sharp Architecture

An attempt to build a Domain Driven Design architectural framework on top of the ASP.NET MVC framework and NHibernate. I haven’t looked at the code yet, but the idea sounds promising. We need a .NET on Rails framework.

 

nPlus1.org

A new is a site dedicated to helping Architects, aspiring Architects and Lead Developers learn, connect and contribute. On this site you’ll have access to great first party content written by some of the most skilled and experienced Architects working today. They’re looking for contributors, so if you’ve got something hot you’d like to share head on over and get it posted.

 

Scott McCloud: Presenting comics in a new (media) world

This video has nothing and everything to do with architecture. Scott highlights some of his brilliant observations about people, learning, and the direction of technology, communication, and comic books in this awesome TED talk.

 

 

I absolutely love his philosophy:

Learn from everyone

Follow no one

Watch for patterns

Work like hell



Holiday Goodie Bag: Free C# and VB Coding Standards Reference Documents

by Clint Edmonson on December 22, 2008

Over the years, I've had the pleasure (and sometimes pain) of being involved in writing and maintaining the internal coding standards documents for nearly every company I've ever worked for. I still have vivid memories of many bloody internal disputes over some really silly things  - where the curly braces should go - whether or not to use underscores in front of member variables. I firmly believe you need them to keep a consistent level of code quality and to this day I will still dig in and fight for this cause. The biggest lesson I've learned:

"It doesn't matter what the standards are, as long as you have them and everyone agrees to adhere to them!"

I present to you the latest incarnations of my efforts: a zip file containing C# and VB.NET editions of my reference coding standards. I've been holding these for the holidays so that I could share a little something extra with my readers as the year winds down. I certainly don't expect everyone to agree with my standards but I hope by posting these, you can get a head start towards documenting your own.

Grab them. Customize them. Share with your friends.

 

Translated editions:

Portuguese by Eduardo Costa