December 2004 - Posts

Security Checklist Poster - DRAFT posted

The new security checklist quick reference poster has been posted on http://dotnet.org.za/willy/admin/EditGalleries.aspx?catid=613.

Comments welcome.

These and more quick reference posters can be found on www.drp.co.za.

 

Posted by willy with no comments
Filed under:

saArchitect Article - A journey through the world of SDLC … Build & Test

The article http://www.saarchitect.net/viewarticle.aspx?articleID=215 forms part of a series of articles, based on software development lifecycles (SDLC), real-world experiences and recommendations from the front-line development trenches:

8      Managed daily build of all solution code, both business and test logic

8      Concept of test-first unit testing

Posted by willy with no comments
Filed under:

Using .NET Remoting as Service Interface

Article “A journey through the world of Technical Architecture with .NET in the Enterprise Interoperability space. Part 2 – Using .NET Remoting as Service Interface”, posted on www.saArchitect.net.
Posted by willy with 1 comment(s)
Filed under:

Using Web Services as Service Interface

Article “A journey through the world of Technical Architecture with .NET in the Enterprise Interoperability space. Part 1 – Using Web Services as Service Interface”, posted on www.saArchitect.net.

Posted by willy with no comments
Filed under:

Test-First Development ... an interesting concept

Eric Gunnerson's article “Unit Testing and Test-First Development” has woken a long forgotten best practise of developing test code, in particular unit test code, before developing the actual production solution. Strangely this was a common practise in the 80's, which proven extremely successful over time, but was always extremely hard to sell to business and project managers, especially as it requires a lot of time to develop solid test code ... Microsoft states 25-50% ... personally I believe it could/should be even higher.

Has anyone got any success or failure stories relating to the concept of developing test code before production code? I would like to dust off my memory cells and create a whitepaper on this topic for saArchitect ... any information which will support or defeat this concept will be appreciated.

Posted by willy with 1 comment(s)

SDLC Quick Reference Poster DRAFT 1

We have added a new DRAFT quick reference poster for SDLC to our Quick Reference Poster Gallery ... comments will be most welcome.
Posted by willy with no comments

www.drp.co.za revised …

The new www.drp.co.za site has been published, featuring the following enhancements:

-          New agendas posted under http://www.drp.co.za/default.asp?id=training/content_training.

-          Errata sheet for the .NET Enterprise Solutions book posted under http://www.drp.co.za/default.asp?id=media/content_errata.

-          Publications, primarily articles for saArchitect, posted under http://www.drp.co.za/default.asp?id=media/content_editorials.

-          New registration page, allowing candidates to register for DRPs

Posted by willy with no comments
Filed under:

.NET Enterprise Solutions Book - Companion CD revision 2 now available

Revision 2 of the companion CD for the .NET Enterprise Solutions book (see www.drp.co.za for details)  is now available and will be shipped to everyone who has requesed the companion CD to date.

Posted by willy with no comments
Filed under:

C# Switch ... to default or not to default

Looking at the following code we have a “simple” switch, with a check whether the passed enum is defined, followed by the switch handling the passed enum. We believe that the default is mandatory and that the compiler should insist on its existence, to avoid the developer forgetting to handle any “new” defined enums, which pass the first test, but would fall through in terms of the switch without anyone knowing.

Are we breaking best practices by insisting that developers add the default: case?

static void TestSwitch( Robot robot )
{
 if ( Enum.IsDefined ( typeof(Robot), robot ) )
 {
  switch ( robot )
  {
   case Robot.Red:
    Console.WriteLine ( "Red ... stop" );
    break;
   case Robot.Orange:
    Console.WriteLine ( "Orange ... stop if outside barrier" );
    break;
   case Robot.Green:
    Console.WriteLine ( "Green ... go, go, go." );
    break;
   // if we remove the break, we can have a situation where processing
   // is successful, but not as expected.

   default:
    Console.WriteLine ( "Oh, oh, unhandled event: " + robot.ToString() );
    break;
  }
 }
}

Posted by willy with 3 comment(s)
Filed under: