I had intended to be happy simply being a signatory of ADO .NET Entity Framework Vote of No Confidence. But, there's people suggesting signatories of this petition are wackos or on the fringe. Do yourself a favour and read the petition . Read what we have issues with and how we think Entity Framework...
Single Responsibility Principle (SRP) helps us write more cohesive types and methods. Cohesion is the relatedness of the members of a type to each other and the relatedness parts of a method's code to other parts. Method cohesion Often times a method is not very cohesive, meaning the code that it...
In this day and age it seems silly to get into a discussion about whether your companies coding guidelines should have a section mandating either spaces or tabs for indents. Tabs are clearly more flexible, but I really don't think it matters at all; people can easily read code that contains spaces...
Let's look at the ubiquitous Person concept. It might seem logical that an application that deals with people should have a Person interface for classes to implement. For example: public interface IPerson { String GivenName { get; set; } String SurName { get; set; } IAddress Address { get; set; ...
With increased usage of patterns and situationally specific strategies, people sometimes lose sight of the concepts and principles behind these patterns and strategies and fail to follow them when they're not using patterns or strategies. I feel it's good to periodically review the fundamental...
Before the modern high-level languages Edsger Dijkstra came up with "Structured Programming". This programming methodology relied on the programmer to form and enforce most of the structure of the program--manually keeping sub-structures and logic separate from one another to promote maintainability...
I've dealt with more than one person who believes all code comments are bad. The first person I encountered who said that also asked me to explain why a particular algorithm was used instead of another because there were no comments explaining it. But, one of my primary principles is that you should...
There were several breaking changes (fixes) in C# 3 from C# 2. One is the ability to attribute a member override with ObsoleteAttribute without also attributing it the virtual member in the base class. For example, the following will compile without error In C# 2 (Visual Studio 2005/.NET 2.0): using...
Continuing the theme of Thead.Sleep is a sign of a poorly designed program , I've been meaning to provide similar detail on Thread.Abort and not just allude to it in other posts like 'System.Threading.Thread.Suspend() is obsolete: 'Thread.Suspend has been deprecated... . Many of the concepts...
There is often a requirement for an application to log unhandled (and sometimes "handled") exceptions. This logging could occur to a log file, to the Event Log, a logging server, etc. There's great reasons to log exceptions but logging exceptions can be fraught with problems. I've have...