Amazon.com Widgets November, 2003 - Brad Abrams - Site Home - MSDN Blogs

Brad Abrams

Design Guidelines, Managed code and the .NET Framework

November, 2003

  • Brad Abrams

    The danger of over simplification: Enum.IsDefined()

    • 15 Comments
    I just stumbled across this guideline in the Design Guidelines document and I thought it needed more explanation.. Do argument validation . Do not assume enum arguments will be in the defined range. It is legal to cast any integer value into...
  • Brad Abrams

    Generic Collections...

    • 75 Comments
    As I am sure many of you have heard we are adding a cool new namespace in Whidbey… System.Collections.Generics… It contains generic versions of the collections you know and love today. List<T>, Dictionary<K, V>, etc In addition we are...
  • Brad Abrams

    Design Guideline Update: Explicit Member Implementation

    • 11 Comments
    Long overdue update the the guidelines on Explicit member implementation. As always, feedback welcome. Explicit Member Implementation Explicit member implementation allows an interface member to be implemented such that it is only available...
  • Brad Abrams

    Properites vs. Methods...

    • 57 Comments
    It is an age old debate… we have some fairly good guidelines , but they certainly leave room for improvement. Today at a WinFX API review (for some cool stuff that didn’t make it out in the PDC drop) we had the debate again… Today the APIs look ...
  • Brad Abrams

    The great naming debates --- still..

    • 48 Comments
    Some guidelines in the Design Guidelines Document and described in my blog are based on years of experience with managed code and a deep understanding of how developers think about problems and how the runtime really works… And other guidelines…well...
  • Brad Abrams

    Default arguments and versioning

    • 12 Comments
    I was recently asked about why the CLS (and the Design Guidelines) discourages default arguments. So I added this annotation to the Design Guidelines document. I believe it is the same reason why C# (rightfully) left it out of the language. ...
  • Brad Abrams

    Systematic, Pragmatic and Opportunistic Programmers

    • 23 Comments
    Steven Clarke added a recent comment to my blog that I thought was worth highlighting: Systematic programmers tend to follow a defensive coding style. They do not make assumptions about the code they are writing, the platform it runs on, the class...
  • Brad Abrams

    Longhorn Architecture Diagram

    • 4 Comments
    JimAll quickly showed a version of this Longhorn Architecture Diagram during his keynote and I many of the breakouts use it. I thought you’d like to have the raw diagram. Very cool way to look at how Longhorn is built.
  • Brad Abrams

    Minor update to the base class guidelines

    • 8 Comments
    Fairly minor update -- as always, let me know if there are questions or comments. --------------------------------------------------------- Consider using abstract classes (even if there are no abstract members) if the class is designed to be...
  • Brad Abrams

    Design Guidelines in the CLI Annotated Standard

    • 4 Comments
    I just got a copy of Jim Miller’s new book: The Common Language Infrastructure Annotated Standard . Very cool to see the CLI spec in this hardcover format. Jim included many helpful annotations as well. My favorite part is Appendix D which includes...
  • Brad Abrams

    Comments Feed...

    • 0 Comments
    I am sure some of you have already figured it out, but you can get an RSS feed for the comments on my blog . In addition, this format should work for anyone on gotdotnet… http://blogs.gotdotnet.com/ID/blogxbrowsing.asmx/GetCommentsRss So, for...
  • Brad Abrams

    the WinFX API reviews continue... Tomorrow: System.Windows.Controls

    • 11 Comments
    At the PDC JimAll mentioned we are doing painstaking API reviews of all of WinFX… Tomorrow we are doing our * 3 rd * round on System.Windows.Controls (I am reviewing something slightly more up to date)…. I will let you know if anything fun comes out...
  • Brad Abrams

    Paul on Default Arguments

    • 5 Comments
    Paul Vick chimes in on default arguments . He has some good points; I can believe the main problem with my example is one of generally bad API design. But I think the technical issue of the default arguments being burned into the callsite still exists...
  • Brad Abrams

    Minor threading update

    • 7 Comments
    I made some very minor updates to the threading guidelines... Please let me know if there are questions or comments. Do not lock on any public types or other instances you do not control. Notice the common construct: lock (this) violates this...
  • Brad Abrams

    Inside CLR Generics

    • 0 Comments
    At the PDC it was clear that many of our customers love generics and want to know about how they are really implemented. We were lucky enough to have a couple of very skilled folks from inside Microsoft Research do a lot of the initial implementation...
  • Brad Abrams

    Help with this feed..

    • 10 Comments
    Hillel points out a cool site making fun of bad design… I find so many parallels in these kind of design issues and API design. Anyway, I was excited to see that the site offers Xml Syndication, which I assumed was an RSS feed, but it is not.. in a...
  • Brad Abrams

    More on 64bit .NET Framework Support

    • 1 Comments
    Christopher Brown talks about the 64bit framework in a comment We definitely plan to support both IA-64 and AMD64 with 32 bit and full 64 bit native frameworks when Whidbey ships. At PDC time, our efforts were serialized and the AMD framework...
  • Brad Abrams

    More thoughts on properties and methods

    • 6 Comments
    Wow – thanks for your feedback on this issue . I am going to start bringing you people more of my hard problems. As of a few minutes ago the consensus seems to be slightly in favor or going with methods in the case I outlined (about 16 pro methods...
  • Brad Abrams

    On API Usability

    • 1 Comments
    Steven talks about API Usability and even asks you to sign up to go to API usability tests. He makes a point that I use often… I call it the “design in reverse” principle. B efore you write any of your framework, write a simple app that uses it...
  • Brad Abrams

    What is WinFX -The New Programming Interface Introduced in Windows "Longhorn

    • 2 Comments
    Check it out... http://msdn.microsoft.com/msdntv/episode.aspx?xml=episodes/en/20031107WINFXBA/manifest.xml What is WinFX -The New Programming Interface Introduced in Windows "Longhorn" Learn the object-oriented, managed API for the breadth of...
  • Brad Abrams

    Interop whitepaper how/when to use interop

    • 0 Comments
    Interop whitepaper with guidelines on how/when to use CLR and C++ interop is now published on MSDN. Link is: http://msdn.microsoft.com/netframework/default.aspx?pull=/library/en-us/dndotnet/html/manunmancode.asp
  • Brad Abrams

    Obsolete in Whidbey...

    • 8 Comments
    At my .NET Framework Overview presentation at the PDC someone asked me for a list of the members we are obsoleting in Whidbey. The idea being if we tell you now what will be obsoleted in Whidbey you will have more information about what to use today...
  • Brad Abrams

    Great Managed code throughts from a Longhron shell dev...

    • 0 Comments
    I have known Marc for a while, but I just checked out his blog .. Very cool stuff. He gives some great real world data on interop , exceptions and he even writes the first WinFX app in SML …. Subscribed.
  • Brad Abrams

    CLR PUM headed to TwinCities .NET User Group

    • 0 Comments
    JasonZ mentions he will be at the TwinCities .NET User Group on 12/4/03... Should be a good chance to get to know the person in charge of the CLR team.
  • Brad Abrams

    mini-PDC

    • 1 Comments
    Jeremy notes a 2 nd chance at a few of the more popular PDC sessions…
Page 1 of 2 (28 items) 12