"Best of" from the naming conventions chat...

Today I reviewed the chat transcript from last weeks following up from the Naming Conventions session, it should be posted soon. In order to encourage you to attend tomorrow’s chat from the Rich Type System session I thought I’d post a few gems I pulled out of that chat. So, just a reminder, the Rich Type System chat is 2/2 at 1pm PST [Sign up for the chat]. See you there!

BradA [MS] (Expert):
Q: What phase of Beta2 are you in now? Ask, Tell, Final TP?

A: We are in tell mode. That means that for every bug a dev fixes, she has to tell the triage committee (division-wide) why she is fixing it. What the scenario is, etc. The committee gets a chance to push back, etc. Next, we go to ask mode where the bar goes up -we have to ask first before we fix a bug.

BradA [MS] (Expert):
Q: Where do you draw the line between "Framework" and "base class library"? Who decides what new bits go where?

A: Yes. The .NET Framework is the overall name for the product. It includes stuff like ASP.NET, Window Forms, ADO.NET and Xml. The Base Class Library (BCL) is part of the .NET Framework. It is the common part that can be used by any of the above bits. Sometimes that is clear and sometimes it is not until after one of the other teams builds something that we realize it is general purpose.

BradA [MS] (Expert):
Q: Is there a formal difference at MS between "Framework" and "Library"?

A: Ahh - I love that question. Krzysztof and I talk about this all the time. Yes, a library is a late 80s early 90s concept of flat dll entry points whereas a framework is more of an extensible object oriented functionality intended for 3rd party developers to use.

Krzysztof Cwalina (Expert):
Q: Was Hungarian notation (WRT method parameters) punted due to a rigorous study of developer efficiency, or was it abandoned because of "improvements to the IDE", or some less tangible metric? I just had a quick look at your blog and couldn't find the answer.

A: This is what I recently wrote on this topic for the purpose of clarifying the justification in the guidelines: "As with most naming conventions, there have always been both positive and negative effects of using the Hungarian naming convention (and they still exist today). Positives include better readability (if used correctly). Negatives include cost of maintenance, confusion if maintenance was not done properly, and finally, Hungarian makes the API more cryptic (less approachable) to some developers. In the world of procedural languages (like C) and the separation of the System APIs for advanced developers from framework libraries for a much wider developer group, the positives seemed to be greater than the negatives. In today’s landscape with System API designed to be approachable to a broader range of developers, and with Object-Oriented languages, the tradeoff seem to be pulling in the other direction. OO encapsulation brings variable declaration and usage points closer together, ..."