PDC 2005: Design Guidelines Pre-conference Notes

Here are some notes on this pre-con session (good session so far):
  • EditorBrowsableState.Never/Always (control Intellisense)
  • For abbreviation names – use search engine test – only use if found early in search
  • Method overloads need to do semantically the same thing
  • Don’t optimize features locally and have overall framework experience suffer (ArgumentNullException).
  • Type forwarders allow you to move a type from one assembly to another.
  • Favor abstract base classes over interfaces for inproc types except for value type hierarchy and multiple inheritance.
  • Rather than seal whole class consider sealing individual virtual members.
  • Putting good documentation on a Bad API is like putting lipstick on a pig.
  • Properties should not return arrays (prop usually copies) – user may index/loop over property  creating a ton of array copies.
  • Always create a new EventArgs subclass even if you add no members since it gives you the ability to do so in the future.
  • Relaxed assembly naming guidelines – doesn’t necessarily need to match namespace name.
This entry was posted in .NET. Bookmark the permalink.

One Response to PDC 2005: Design Guidelines Pre-conference Notes

  1. Marc Brooks says:

    What do you mean in point 4? Are you saying we shouldn\’t throw when null arguments are presented when we NEED them, or are you saying that we should code such that we can do reasonable things in the presence of null arguments (default behaviour or whatnot)?

Leave a Reply

Fill in your details below or click an icon to log in:

WordPress.com Logo

You are commenting using your WordPress.com account. Log Out /  Change )

Google+ photo

You are commenting using your Google+ account. Log Out /  Change )

Twitter picture

You are commenting using your Twitter account. Log Out /  Change )

Facebook photo

You are commenting using your Facebook account. Log Out /  Change )


Connecting to %s