CodeBetter.Com
CodeBetter.Com
RSS 2.0 via Feedburner
           Do you Twitter? Follow us @CodeBetter

Jeffrey Palermo [MVP]

Software management consultant and CTO, Headspring Systems

December 2005 - Posts

  • Visual Studio 2005 Refactoring is sub-par - level 200

    This is a time that envy VB developers who have access to DevExpress' Refactor tool which is far better than the meager refactoring support available for C# devs in Visual Studio 2005.  There was a bunch of hype around this feature, and it is really useless.  I love Resharper 1.5 for VS 2003, and I can't wait until it comes out for VS 2005, but until then, I develop EZWeb with a stock VS 2005 install.  I made a screen shot of renaming a parameter so you can see what happens. 

    Any time you invoke a refactor feature, a modal dialog pops up that halts your work.  Every time takes at least 15 seconds even for the small solution I have going.  This feature was very poorly designed, and I hope it is improved in a service pack. 

    Renaming a method parameter is one of the simplest refactorings.  It can't affect code other than in that method, so why is there the need to search every file in the solution?  Only code inside that method could _possibly_ be affected.

    Another downer is that the refactorings don't have shortcut keys defined by default.  You can only get to them with the mouse.  To keep my hands on the keyboard, custom keyboard mappings are required. 

    Here's an area where we still need to catch up with Java IDEs - refactoring.

  • Mike Roberts integrates FitNesse with CruiseControl.Net and Subversion - level 300

    A while back, I posted about how my team integrated and versioned our FitNesse wiki with CruiseControl.Net and Subversion.  Mike Roberts found it helpful for creating a similar solution for his team.  He's shared his experience on his blog.  Hopefully others will find it useful.

    For those who don't know about FitNesse (or Google), Fit is a framework for creating system-level acceptance tests using Excel worksheets or Html tables.  FitNesse is a wiki that provides a UI to Fit for maintaining the acceptance test tables in a hierarchical wiki website. 

    My team uses FitNesse tables to allow testers and product managers to exercise our entire system (or entire subsystems) through their tables.  This is far more flexible than the application's UI, and it allows for more exploratory testing.

    The greatest strength of FitNesse acceptance tests is that they are executable requirements.  When all the acceptance tests pass, we know we are done.  If a bug surfaces, we write an acceptance test to describe the bug and we keep it in a large suite that become strong regression tests.  There is no mistake about the difference in a bug an a missed requirement as well.  If it doesn't have an acceptance test, then it isn't a requirement. 

    Finally, if you'd like to learn more, here's a great google search.

  • Steve Donie explains enterprise-level configuration management - level 400

    Steve Donie, Configuration Manager extraordinaire, posts on "Taking Continuous Integration to the next level".  In his article, he explains enterprise-level techniques for versioning, source control, continuous integration and managing dependencies.  It's a great read.
  • Share login and other state between ASP.NET and classic ASP - level 300

    Sharing a login (some call it single sign-on) between ASP.NET and classic ASP takes quite a bit of thought.  Even if you have a single web application with 1 .asp and 1 .aspx, the two are running in completely separate memory spaces.  You can't share Session, or any other piece of information.  Only shared resources can be accessed by both.  Shared resources could include:
    • File sytem
    • Database
    • Registry
    • Available services (Web services, COM, queues, etc).
    That last bullet point is what you want to concentrate on.  Using the file system or database to act as a Session object substitute is not something I would recommend even if it would technically work.  I would recommend against the registry as well since it's just a specialized database.

    Web services would allow you to expose anything inside the ASPX memory space, but web services are currently the slowest way to communicate between processes, so consider the pros and cons before deciding to use them.

    COM+ components are services in themselves, and communications with them are fast, so they provide a unique way to communicate between applications without sacrificing performance.  I'd recommend porting ASP to ASP.NET, but for a time, it might be necessary to make the two work together.

    Using COM or COM+, you can share .Net libraries with your ASP applications, and if you have your .Net library run as a COM+ application on it's own, it could hold application state that could be shared between the ASP and ASP.NET.  If you use this approach, try to minimize the amount of shared state and only use it as a temporary means while you convert your ASP application to ASPX.

    Hint:  Regasm.exe is a tool for exposing your .Net libraries as COM.

  • FoxIE expands browsing options for Internet Explorer users - level 100

    I haven't used the stock Internet Explorer in several years, and many people agree that it lacks some essential features found in other browsers like Maxthon and FireFox.  For instance, both of these browsers have tabbed browsing and other convenience features like pop-up blocking and some ad-blocking available. 

    Maxthon is a browser shell that uses IE as the rendering engine.  Firefox is a shell also that uses the Mozilla engine.  Browser extensions exist for both, but certainly more exist for Firefox.

    I have used Maxthon since it was renamed from MyIE2, and MyIE2 befor that.  Maxthon served me well while Firefox was making it to version 1.0.  I've now fully converted to Firefox as my main browser.  I wasn't satisfied by the stock Firefox, but I'm completely satisfied now that I've installed extensions like the developer toolbar, IE Tab (that embeds the IE engine in a Firefox tab), and others.

    Since I develop web applications, I need to evaluate the experience in Internet Explorer still, so I still have to deal with that. 

    There is an extension for Internet Explorer that I really like initially.  It's Foxie.  It adds a tab bar to IE as well as search box and other features like a adware/spyware firewall.  It's early in it's development, but I'm impressed.

More Posts

This Blog

Syndication