Sign in
|
Help
Peter Ritchie's MVP Blog
This is not a life-saving device.
This Blog
Home
Contact
Syndication
RSS for Posts
Atom
RSS for Comments
Search
Go
Tags
.NET 2.0
.NET 3.5
.NET 3.x
.NET Development
C#
C# 3.0
C# 3.0 Breaking Changes
C# Nugget
C++
Design/Coding Guidance
DevCenterPost
Framework Bugs
General
Interesting Find
Microsoft
MVP
Non-development
OOD
Patterns
Pontification
Resharper
Software Development
Visual Studio 2005
Visual Studio 2008
WinForms
News
Twitter Updates
Community
Home
Blogs
Media
Groups
Email Notifications
Go
Archives
September 2008 (2)
August 2008 (8)
July 2008 (8)
June 2008 (5)
May 2008 (8)
April 2008 (1)
March 2008 (4)
February 2008 (6)
January 2008 (4)
December 2007 (4)
November 2007 (1)
October 2007 (4)
September 2007 (2)
August 2007 (3)
July 2007 (2)
June 2007 (4)
May 2007 (5)
April 2007 (2)
March 2007 (4)
February 2007 (3)
January 2007 (1)
November 2006 (2)
October 2006 (5)
September 2006 (6)
August 2006 (2)
July 2006 (7)
March 2006 (1)
Nuggets
.NET 2.0 Breaking Changes
Visual Studio and .NET Framework Feedback
Microsoft Developer Network Forums
Interesting Blogs
Visual Studio Code Analysis Blog
Sara Ford's Blog
Me
Technorati Profile
Browse by Tags
All Tags
»
Design/Coding Guidance
(
RSS
)
.NET 2.0
.NET 3.5
.NET Development
ALT.NET
Asynchronous Programming Model (APM)
C#
C# 3.0
C# 3.0 Breaking Changes
C++
DevCenterPost
General
ITSWITCH
ITSWITCH Answer
Kaikaku
Kaizen
Microsoft
OOD
Pontification
Pop Quiz
Software Development
TCP
TDD
Visual Studio 2008
Tuesday, September 02, 2008 1:49 PM
Becoming a Visual Studio Jedi Part 1
Becoming a Visual Studio 2008 (and often Visual Studio 2005) Jedi In much the same grain as James' Resharper Jedi posts, I'm beginning a series of posts on becoming a Visual Studio Jedi. It involves getting the most out of Visual Studio off-the...
Posted by
PeterRitchie
|
3 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Visual Studio 2008
,
DevCenterPost
Wednesday, August 20, 2008 8:24 PM
Location of unit tests.
I had a short conversation at Alt.Net Canada about the location of unit tests. I personally tend towards a distinct unit test project. But, I deal with mostly commercial, off-the-shelf (COTS) projects where I simply can't ship code like that. I also...
Posted by
PeterRitchie
| with
no comments
Filed under:
General
,
.NET Development
,
Design/Coding Guidance
,
Pontification
,
TDD
Wednesday, August 20, 2008 10:14 AM
The winds of change are blowing
The essence of ALT.NET, or at least the essence that people made use of, was that it was a venue for improving one's skills. There has always been an undercurrent of other agendas there; but they never really took root. The problem with the...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
Software Development
,
Design/Coding Guidance
,
ALT.NET
,
Kaikaku
,
Kaizen
Wednesday, August 13, 2008 4:55 PM
Law of Reversibility of Attributes
I've come up with a simple law called Law of Reversability of Attributes. It’s based on the physics law of a similar name. Basically what the law means is that the inverse of a transformation should result in a return to the original state....
Posted by
PeterRitchie
|
6 comment(s)
Filed under:
Software Development
,
Design/Coding Guidance
Monday, August 11, 2008 5:34 PM
DataGridViewColumn.Frozen
DataGridViewColumn.Frozen is documented as "When a column is frozen, all the columns to its left (or to its right in right-to-left languages) are frozen as well." Which is nice until you think of the consequences. The consequences being that...
Posted by
PeterRitchie
| with
no comments
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
Monday, July 28, 2008 2:00 PM
ITSWITCH #1: Answer
Last post I detailed some code that may or may not have something wrong in it. If you thought InitializeOne and IntializeTwo are semantically identical (e.g. they differ only by performance), you'd be wrong. If you simply ran the code, you'd...
Posted by
PeterRitchie
| with
no comments
Filed under:
C#
,
.NET Development
,
Software Development
,
.NET 2.0
,
Design/Coding Guidance
,
Pop Quiz
,
ITSWITCH Answer
Friday, July 25, 2008 1:58 PM
ITSWITCH: #1
A short pop quiz on design/coding in C#...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
.NET 2.0
,
Design/Coding Guidance
,
Pop Quiz
,
ITSWITCH
Tuesday, July 15, 2008 9:47 AM
Nested Types
Recently Michael Features blogged about nested types . The title was almost "nested types considered harmful". I don't agree. I don't agree that they're any more harmful than any other C# construct (except goto...). Nested types...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Visual Studio 2008
,
C# 3.0
,
.NET 3.5
,
TCP
,
Asynchronous Programming Model (APM)
Wednesday, June 25, 2008 12:21 PM
Entity Framework Petition of Vote of Non Confidence
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...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Microsoft
Tuesday, June 10, 2008 2:26 PM
Fundamentals of OOD Part 3: Method Cohesion
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...
Posted by
PeterRitchie
|
13 comment(s)
Filed under:
C#
,
Software Development
,
Design/Coding Guidance
,
DevCenterPost
,
OOD
Monday, May 26, 2008 9:25 AM
Spaces or Tabs?
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;...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
C#
,
.NET Development
,
Design/Coding Guidance
,
Microsoft
Thursday, May 08, 2008 3:01 PM
Fundamentals of OOD, Part 2 - Encapsulation Scope
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...
Posted by
PeterRitchie
|
3 comment(s)
Filed under:
C#
,
Software Development
,
Design/Coding Guidance
,
DevCenterPost
Thursday, May 01, 2008 10:50 PM
Fundamentals of Object-Oriented Design (OOD) Part 1
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...
Posted by
PeterRitchie
|
1 comment(s)
Filed under:
C#
,
Software Development
,
Design/Coding Guidance
,
DevCenterPost
Thursday, March 13, 2008 10:46 AM
Upcoming C# 3 Guidance From Microsoft
Mircea Trofin has some design guidelines with regard to some C# 3 language additions (that I assume will make it into a revised Framework Design Guidelines of some sort). They more less agree with the guidelines I published in Code Magazine a while ago...
Posted by
PeterRitchie
|
4 comment(s)
Filed under:
.NET Development
,
Design/Coding Guidance
,
C# 3.0
,
.NET 3.5
,
DevCenterPost
Friday, March 07, 2008 8:48 AM
Single-Entry, Single-Exit, Should It Still Be Applicable In Object-oriented Languages?
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...
Posted by
PeterRitchie
|
32 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
Tuesday, February 05, 2008 2:38 PM
A Time and Place for Code Comments
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...
Posted by
PeterRitchie
|
7 comment(s)
Filed under:
C#
,
Software Development
,
Design/Coding Guidance
Monday, November 26, 2007 2:31 PM
New warning CS0809 in C# 3 (Visual Studio 2008)
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...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
C#
,
Design/Coding Guidance
,
Visual Studio 2008
,
C# 3.0
,
.NET 3.5
,
C# 3.0 Breaking Changes
Wednesday, August 22, 2007 2:13 PM
Thread.Abort is a Sign of a Poorly Designed Program
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...
Posted by
PeterRitchie
|
3 comment(s)
Filed under:
C#
,
Software Development
,
.NET 2.0
,
Design/Coding Guidance
Wednesday, August 01, 2007 11:49 AM
Exception Logging
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...
Posted by
PeterRitchie
|
6 comment(s)
Filed under:
C#
,
Software Development
,
Design/Coding Guidance
Thursday, July 12, 2007 9:30 PM
Performance Implications of try/catch/finally, Part Two
In a previous blog entry Performance Implications of try/catch/finally I outlined that the conventional wisdom that there are no performance implications to try blocks unless an exception is thrown is false. I have some clarifications and details to add...
Posted by
PeterRitchie
| with
no comments
Filed under:
C#
,
.NET Development
,
.NET 2.0
,
Design/Coding Guidance
More Posts
Next page »