Amazon.com Widgets February, 2004 - Brad Abrams - Site Home - MSDN Blogs

Brad Abrams

Design Guidelines, Managed code and the .NET Framework

February, 2004

  • Brad Abrams

    internal = public?

    • 58 Comments
    There was an interesting thread this week inside the firewall about compatibility concerns the .NET Framework (and by extension WinFX) has in light of the fact that you can you use reflection to find and even invoke private members. Here is the exact...
  • Brad Abrams

    IsEnabled or Enabled

    • 45 Comments
    I actually got a chance to write a little WinFX code today, which was a lot of fun. But I did run across one issue that has been in the back of my mind for while. It is the “Is” prefix on Boolean properties. I started out by using the...
  • Brad Abrams

    Why do interface names begin with "I"

    • 39 Comments
    I am in the having one of those very useless “what-should-we-have-done” debates with a guy on my team and I thought I suck you folks into it. It is around naming of interfaces with an “I” prefix. Something COM founded (I think...
  • Brad Abrams

    ArgumentNullException and ArgumentException

    • 35 Comments
    In my comments Jeff asks: I have a question, how was the decision for these 2 classes ctor parameters made... Constructor for ArgumentNullException public ArgumentNullException( string paramName, string message) Constructor for ArgumentException...
  • Brad Abrams

    The PInvoke problem

    • 30 Comments
    I have been talking to the CLR interop team recently about some ideas to make life easier for developers using PInvoke. My hope is that with WinFx PInvoking out to the Win32 will be much more rare, but we have a while to go before we get there. In the...
  • Brad Abrams

    Style for the Design Guidelines Document

    • 29 Comments
    If you have been following the Design Guidelines updates I have done and the Design Guidelines document you will notice we use a pattern…. Nearly every rule begins with “ Do ”, “ Do not ”, “ Avoid ” or “...
  • Brad Abrams

    Why can't NullReferenceException tell you the type of the instance that was null?

    • 23 Comments
    If you have done much managed development you have run into a NullReferenceException more times that you’d care to count. The CLR throws this exception when you try to access instance state on null instance… One of your internal customers...
  • Brad Abrams

    Debug and Retail Builds

    • 21 Comments
    Over the weekend some of the big-brains on the CLR team (oh, and me too) are having a debate about introducing the concept debug and retail builds of the .NET Framework. The high level concept is to move some “code correctness” checks out...
  • Brad Abrams

    Design pattern for read-only vs. read-write collections

    • 20 Comments
    Interesting discussion over in WinFX land today, thought you might want to chime in: What is better from the standpoint of the design guidelines: 1) Single class FooCollection with an IsReadOnly property and an AsReadOnly method returning a FooCollection...
  • Brad Abrams

    Casing for acronyms

    • 18 Comments
    In the comments of a recent post Frank Hileman suggests: I have seen, with acronyms, anything goes. I assumed there is no rule. We do have a rule and I believe it is reasonably well followed in the Framework. Do use PascalCasing or camelCasing...
  • Brad Abrams

    History around Pascal Casing and Camel Casing

    • 16 Comments
    In the initial design of the Framework we had hundreds of hours of debate about naming style. To facilitate these debates we coined a number of terms. With Anders Heilsberg (the original designer of Turbo Pascal ) a key member of the design team, it is...
  • Brad Abrams

    Software for Non-Profits

    • 13 Comments
    I just heared about http://www.techsoup.org . I am told non-profits can use this site to order MS software for “free”… although there seems to be some admin fees. Anyone using it? How do you like it?
  • Brad Abrams

    DateTime Compatibility Issue

    • 13 Comments
    The BCL team is having some design discussions on how to fix a bug that was recently found. I thought you might want to chime in as some of the implications have wide applicability. Here is the thread from Anthony … comments welcome. ...
  • Brad Abrams

    Returning empty arrays vs nulls

    • 11 Comments
    I could have said it better myself… thanks Wes . Empty Arrays
  • Brad Abrams

    serial port support in Whidbey

    • 10 Comments
    We keep getting lots of requests for serial port support in the .NET Framework. We are planning to have it in the next release of the .NET Framework. You can goto http://www.gotdotnet.com/team/clr/bcl/demos/demos.aspx , and check out the code in either...
  • Brad Abrams

    Deploying the .NET Framework

    • 10 Comments
    Someone asked me this week for some best practices around deploying the .NET Framework on client machines. Unfortunately I don’t have a ton of experience with this. For the last big application I work on ( Terrarium ) we decided to simply...
  • Brad Abrams

    Rotor in university class room: Performance Analysis of O-O Systems

    • 8 Comments
    The course abstract is at http://csce.unl.edu/~witty/sp2004/csce496/ , the Rotor bit is "...students will examine the actual implementation of these runtime systems. We will use Microsoft CLI engine which is the core runtime infrastructure for .NET platform...
  • Brad Abrams

    CLSCompliantAttribute and the Naming Conventions

    • 7 Comments
    How embarrassing --- the CLSCompliantAttribute, which I was the PM for back in the day, does not follow the naming convention . A reader pointed this out nicely in my comments . All I can say is that this attribute has very heavy dependencies across ...
  • Brad Abrams

    A winner for my little quiz on NullReferenceException

    • 7 Comments
    In a previous post I asked I said that we throw a NullReferenceException when you try to access instance “state” (eg a field). What if you have an instance method that does not touch any instance state (for example an instance method that...
  • Brad Abrams

    More in Win32 Signtures

    • 7 Comments
    A while back I posted some thoughts on Win32 signatures… The CLR interop team has been hard at work figuring out the right solution, expect to see more soon. In the mean time check out these PInvoke signatures the C# team posttest a while back....
  • Brad Abrams

    Thoughts on the power of naming conventions

    • 7 Comments
    Ian has some good thoughts on naming conventions . I'll make sure the folks on the WinFX team hear this load and clear. I like this naming convention because it means that an important fact about the code leaps out at me.
  • Brad Abrams

    Delegate and MulticastDelegate

    • 6 Comments
    Ever wonder what the difference between Delegate and MulticastDelegate ? You might think it has something to do with Multicasting right? Wrong. We abandoned the distinction between Delegate and MulticastDelegate towards the end of V1. At that time...
  • Brad Abrams

    A good compilation of new .NET Design Guidelines

    • 6 Comments
    Ken Brubaker has a good compilation of new .NET Design Guidelines .. Thanks. At his suggestion I also added a new category to my blog where you can see just those new guidelines we have recently added. Enjoy.
  • Brad Abrams

    More on Setting Environment variables

    • 5 Comments
    We had an internal thread about Setting Environment variables and someone posted a cool V1\V1.1 solution. One workaround is to use System.Management (WMI). This should work on all versions of .NET Framework with WMI installed on the OS. You would...
  • Brad Abrams

    AV or NullReference Exception

    • 4 Comments
    In my comments Pavel ask: How does the CLR decide if a given AV should be converted to a NullReferenceException or not? Jonathan Keljo the PM in charge of the CLR exception story tells me that in v1 and v1.1, all AV's, regardless of the target...
Page 1 of 2 (30 items) 12