Friday, July 31, 2009

How to display an assembly in the "Add Reference" dialog box

How to display an assembly in the "Add Reference" dialog box: "When you are developing a class library, you may want Visual Studio .NET to list your library in the Add Reference dialog box on the .NET tab without the user having to browse for it.

This issue is not resolved if you install your assembly to the global assembly cache, because the Add Reference dialog box is path-based and does not enumerate the components from the global assembly cache."

Use Case/Project Management Stuff

Some musings/notes.

OpenUP -- their developer and tester stuff is cool. Also the risk management, and the prioritization (like kanban). The Powerpoint was very good.
Use Case structure -- see the wikipedia article for things to include.

Alistair Cockburn's points:
  • Structure use cases with goals.
    • Non-functional requirements can be attached to goals.
  • Goals have levels - high, low, overarching, short-term detailed, etc.
  • Include Stakeholders and Interests - helps separate the wheat from the chaff
  • Levels:
    • Brief - 2-4 sentences, for instance in a spreadsheet cell
    • Casual - a few paragraphs
    • Fully dressed - long template, include stakeholders, minimum guarantees, postconditions, business rules, performance constraints, etc.
  • Alternative behaviors are more important than the main scenario!! For instance, they reveal subtle requirements.
  • Do not use UI elements!
  • His resources, templates, etc.
Long use case structure, probably for the detailed view:
  • Name
  • Version
  • Goal - very important
  • Summary
  • Actors
  • Precondition
  • Triggers
  • Basic course of events
  • Alternative paths -
  • Postconditions
  • Business Rules
  • Notes
  • Author and Date
Iconix talks about Robustness Analysis

Wednesday, July 29, 2009

Shrinking ViewState when using dynamic controls in ASP.NET

"For 'static' controls (meaning controls declared in your .ASPX page) the ViewState carries VERY little overhead, if any at all. Though for Dynamically Created controls the situation is a bit different. Very often when you create Dynamic Controls this is a three phase run:
  • Instantiate the Controls
  • Set its values
  • Add it either directly or in-directly to the Page object
"IF you follow the EXACT same steps in the given sequence as the above list, then your ViewState object will be SIGNIFICANTLY reduced in size! This is also true for ALL WebControls and not only Gaia Ajax Widgets.

"The reason is that when your dynamically created Controls are being added to the page object then its complete lifecycle will execute which means that among other things the ViewState 'IsDirty' flag will be set to TRUE. When the ViewState IsDirty flag is set to true, then all properties you modify afterwards will have its values stored in the ViewState object. If you however set those properties BEFORE adding the Control to the Page object then the ViewState will not be dirty for those properties and values."

Scott Hanselman's Computer Zen - Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows

Scott Hanselman's Computer Zen - Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows: "Scott Hanselman's 2007 Ultimate Developer and Power Users Tool List for Windows"

Is what it says. Cool!

Monday, July 13, 2009

dave^2 = -1: An introduction to the SOLID principles of OO design

He makes this stuff more comprehensible than Robert Martin, who is the creator of the acronym.

dave^2 = -1: An introduction to the SOLID principles of OO design: "I would be very hard pressed to go passed [sic] Robert 'Uncle Bob' Martin's SOLID principles as the single most useful tool for helping me with OO design. Some people seem to have a natural talent for OO design and thinking, and have an innate understanding of these principles without requiring the SOLID formalism. I, on the other hand, find them indispensable.

"Unfortunately the names used in the somewhat-cryptic 'acronym of acronyms'[1] don't exactly lend themselves to being easily learned (Bob Martin and Scott discussed how this came about on a Hanselminutes episode on SOLID, which is well worth a listen). I thought I'd post my interpretation of the principles as a refresher for myself, and as an introduction for anyone trying the learn the terminology."

Wednesday, July 08, 2009

Visual WebGUI: Web UI Development - RIA Platform / Framework

Very, very cool! A few bugs, but it's open source!

Web UI Development - RIA Platform / Framework: "Developing new Rich Internet Applications (RIA) has never been so fast and simple due to Visual WebGui's drag & drop, near zero coding Development Experience. The rapid web development well suited for building small applications UI in a matter of hours as well as very complex and large applications in a very short time. Visual WebGui allows you to use your existing .NET skills and development patterns since it is based on proven desktop & web technologies. It simplifies web development by flattening the development process into a single layer and empowers front-end design with an intuitive visual WYSIWYG Form designer which lets you use any WinForms, and Silverlight controls."

Wednesday, July 01, 2009

Microsoft StyleCop : Introducing StyleCop on Legacy Projects

Microsoft StyleCop : Introducing StyleCop on Legacy Projects: "In this article I’ll describe a technique for doing a slow, staged rollout of StyleCop over your existing codebase. This technique has been used successfully by multiple teams within Microsoft, allowing them to adopt the tool in a controlled manner without generating a lot of noise up front. The general idea is to enable the tool for all of your solutions, but disable the tool from analyzing all pre-existing C# files. This provides the following advantages:"