Plunging into .NET Development

Weblog Pieter Gheysens
Microsoft .NET Development - C# - Enterprise Library - Visual Studio 2005 Team System - Compuware DevPartner - ...
 


Friday, February 24

Developer & IT Pro Days 2006

DevDays 2006 (Belgium) are coming closer. Theme of this year : The Connected Generation. It's all about connecting people, information, systems and devices.



This year Compuware will not only have a booth as a Gold Sponsor, but will also have two speakers who will deliver 3 Developer Sessions.

  • Jelle Druyts [March 8, 2006 - 09:00 - 10:15]
    Best Practices: The Art of Building a Reusable Class Library
    This session presents best practices for designing frameworks, which are reusable object-oriented libraries. The guidelines are applicable to frameworks ranging in size and in their scale of reuse from large system frameworks to small components shared among several applications. Topics covered include the design, background and motivation for: naming conventions, namespaces and assemblies, types (structs, reference types, generic types), members, designing for extensibility, usage guidelines, and general library design principles. Attend this session to learn more on the best practices for building a reusable class library.

  • Jelle Druyts & Steven Wilssens [March 8, 2006 - 10:45 - 12:00]
    Best Practices for Application Development
    This session presents best practices for developing robust enterprise applications on the .NET platform. The guidelines are a accumulation of years of experience in building frameworks and enterprise applications. We will show you best practices around exception management, logging, configuration, authorization, data access, unit testing, code analysis, documentation, daily builds, caching and testing. When attending this session you will also learn about recurring design patterns, general development guidelines and conventions.

  • Steven Wilssens [March 8, 2006 - 14:30 - 15:45]
    Best Practices for Advanced Source Control: Beyond CheckOut and CheckIn
    This session presents best practices for advanced source control management. We will examine different branching strategies and provide you with the necessary guidelines that will help you adopt the right Software Configuration Management branching mode. These best practices will help you increase overall product quality and process efficiency, reduce the incidence of software failures, and improve organizational performance. We will have a look at Team Foundation Source Control and answer following questions: What's new with merging and branching in VSTS and why is it better? What is shelving? What about continuous integration and how can you implement a gauntlet system with VSTS?

Yesterday evening I went to a test run of the presentation of Jelle (Best Practices: The Art of Building a Reusable Class Library) and I must say that it looks already very promising. Although it will be a level 200 session, the session will also be interesting for more experienced developers to reflect on the way they're working with all kinds of Framework Guidelines. Afterwards we had an animated discussion on how to improve his current presentation. Fun! Be sure to be on time for his presentation so you can think about the brain-teaser he will put on the screen before kicking off Day 2 of Dev & It Pro Days at 9 o'clock. I'm also curious about the session Jelle will present together with Steven. It will certainly be fun to watch them perform together on stage. They both have a great sense of humor and I hope they will be in good shape. Good luck guys!

Hope to see you there! I will also be present at the Compuware booth during the breaks to give information and demos about the Compuware DevPartner Products for Visual Studio 2005.

Friday, February 17

List of countries from registry + Databinding

Did you know that all known countries are listed in the registry [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows\CurrentVersion\Telephony\Country List\]? Here's how to look them up in C# and how to show them alphabetically in a combobox ...



Another thing that shocked me by surprise : the order for databinding is important! Look at my first implementation of the databinding.



Coincidentally I was running a profiling tool (Compuware DevPartner Studio) and saw - after executing the previous code - that the line with DisplayMember took almost the same time to complete as the DataSource-line. After digging into it a little deeper with DevPartner I noticed that binding actually occurred on both lines! So I tried to reorder my binding code to find out how to overcome ...



Result : databinding happens only once and it takes a lot less time to complete. I can imagine that this issue can take away a lot of processing time (percentage) if you have a lot of data to bind. You also won't notice it at first sight because you will think that's the right penalty to pay for your databinding. Watch out for it!