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
Go
News
Search
Go
Email Notifications
Go
Archives
August 2009 (1)
July 2009 (1)
May 2009 (1)
April 2009 (1)
March 2009 (3)
January 2009 (3)
November 2008 (6)
October 2008 (2)
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
Tags
.NET 2.0
.NET 3.5
.NET 3.x
.NET Development
AntiPattern
C#
C# 3.0
C++
DDD
Design/Coding Guidance
DevCenterPost
General
Interesting Find
Microsoft
Non-development
OOD
Patterns
Pontification
Resharper
Software Development
Software Development Guidance
Software Development Practices
Visual Studio 2005
Visual Studio 2008
WinForms
Browse by Tags
All Tags
»
Software Development
(
RSS
)
.NET 2.0
.NET 3.5
.NET 3.x
.NET Development
ALT.NET
AntiPattern
Asynchronous Programming Model (APM)
C#
C# 3.0
C# 3.0 Breaking Changes
C# Nugget
C++
C++/CLI
Code Analysis Rules
CodeRush Refactor! Pro
Connect Issue
DDD
Definition
Design/Coding Guidance
DevCenterPost
DevTeach
Framework Bugs
General
Interesting Find
ITSWITCH
ITSWITCH Answer
Kaikaku
Kaizen
Lean
MFC
Microsoft
Microsoft Patterns and Practices
OOD
Open Source
Patterns
Pontification
Poor UI
Pop Quiz
Product Bugs
Resharper
Small Business Server 2003 R2
Software Development Guidance
Software Development Practices
TCP
Team Foundation Server
Unit Testing
Visual Studio 2005
Visual Studio 2008
Visual Studio 2008 SP1
WinForms
Mon, Mar 30 2009 23:02
Evolving code over time
Given economics, time constraints, resource limitations, etc.; you can't write all the functionality for a given solution for a single release. Even if you weren't limited by these constraints, you're likely to get changing requirements as...
Posted by
PeterRitchie
|
1 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Software Development Practices
,
Software Development Guidance
Thu, Mar 26 2009 11:33
DevTeach 2009 Vancouver
The schedule for DevTeach 2009 Vancouver has been announced ( http://www.devteach.com/ ). There’s lots of great software development sessions from some of the leaders in our industry. If you’re planning on improving yourself, this is the conference...
Posted by
PeterRitchie
|
1 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Visual Studio 2005
,
.NET 2.0
,
Design/Coding Guidance
,
.NET 3.x
,
Visual Studio 2008
,
C# 3.0
,
.NET 3.5
,
DevTeach
,
DDD
,
Software Development Practices
,
Software Development Guidance
Wed, Mar 11 2009 9:36
Developing with Source Code Control - Best Practices Part 2
[Edited 14-Mar-09: clarified generated code SCC practice] This edition provides SCC vocabulary and some more practices that make development life easier. Vocabulary Trunk The root of the project or database. Sometimes called mainline or baseline; depending...
Posted by
PeterRitchie
|
13 comment(s)
Filed under:
Software Development
,
Software Development Practices
,
Software Development Guidance
Thu, Jan 29 2009 11:10
A Upcoming Pandemic of Domain Anaemia
There's a well-known anti-pattern called the anaemic domain model[1][2]. This anti-pattern basically says domain entities, chronically, have little or no behaviour (remember, object-oriented design is about attributes and behaviour). It should be...
Posted by
PeterRitchie
|
4 comment(s)
Filed under:
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Microsoft
,
Patterns
,
OOD
,
AntiPattern
,
DDD
,
ALT.NET
,
Software Development Practices
,
Software Development Guidance
,
Microsoft Patterns and Practices
Thu, Jan 29 2009 9:00
It’s More Than Syntax
Writing good software is not just about adhering to a programming language's syntax. No programming language syntax enforces good design nor does it enforce good programming in all circumstances. I've seen many systems that compiled perfectly...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
Software Development
Tue, Jan 27 2009 10:00
House of Cards Design Anti-pattern
I've had this anti-pattern in my head for years. It's an observance of some projects and methodologies that I've witnessed over the years. I believe it's a form of Voodoo Programming , Programming by coincidence , and is often...
Posted by
PeterRitchie
|
14 comment(s)
Filed under:
Software Development
,
Design/Coding Guidance
,
AntiPattern
Fri, Nov 21 2008 12:09
Pass-through Constructors
Pass-through constructors is a term I use to describe parameterized constructors that have none of their own logic and simply pass parameters to the base class. For example: public class BaseClass { private String text; public BaseClass( String text)...
Posted by
PeterRitchie
| with
no comments
Filed under:
C#
,
.NET Development
,
Software Development
,
Definition
Tue, Nov 18 2008 11:55
Pontificating Virtual Parameterized Constructors in C#
Tom Hollander recently posted about a change he required to the Enterprise Library for date/time validation. He had to create a new class (rather than modify the Enterprise Library) that derived from another, defective class. One of his complaints was...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
C#
,
Software Development
,
Pontification
,
Patterns
,
OOD
,
AntiPattern
Sat, Oct 18 2008 8:54
Developing with Source Code Control Best Practices Part 1
This post will detail some first principles about source code control (SCC) and provide what I consider the most basic of practices that every dev should follow. What is SCC? SCC provides developers the ability to keep a history of their changes. SCC...
Posted by
PeterRitchie
|
9 comment(s)
Filed under:
Software Development
,
Software Development Practices
,
Software Development Guidance
Thu, Sep 4 2008 9:51
Software Process and Reduction of Quality
Ken Schwaber had a conversation with Scott Hanselman about the concept of "done". He said that software developers have a habit of culling down all the generally accepted practices of software development except the writing of code. He says...
Posted by
PeterRitchie
|
4 comment(s)
Filed under:
General
,
Software Development
Tue, Sep 2 2008 13:49
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
|
7 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
Design/Coding Guidance
,
Visual Studio 2008
,
DevCenterPost
Tue, Aug 26 2008 15:06
Trials and Tribulations of DataGridView, Column Selections, and Sorting
I had to implement some custom sorting in a DataGridView recently. Essentially, the stakeholders wanted full column selection (like Excel) while still having the ability to sort the data based on a particular column. This particular DataGridView is data...
Posted by
PeterRitchie
|
3 comment(s)
Filed under:
C#
,
.NET Development
,
Software Development
,
.NET 3.5
,
Framework Bugs
,
Connect Issue
,
Visual Studio 2008 SP1
Wed, Aug 20 2008 10:14
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
Mon, Aug 18 2008 10:11
Extra Features: One of the Lean 7 Wastes of Software
Derik Whittaker recently blogged about how writing unused code is one of the Lean 7 Wastes of Software . Mary Poppendieck calls this "Extra Features" and has a one-to-one association to overproduction in manufacturing. In Manufacturing it has...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
Software Development
,
Lean
Wed, Aug 13 2008 16:55
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
|
7 comment(s)
Filed under:
Software Development
,
Design/Coding Guidance
Mon, Aug 11 2008 17:34
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
Mon, Jul 28 2008 14:00
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
Fri, Jul 25 2008 13:58
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
Mon, Jul 21 2008 15:32
Working with Resharper's External Annotation XML Files
Resharper 4.0 has external annotation XML files that you can create to give Resharper more information about your code. For example, you can tell Resharper that a particular method does not accept a null argument. For example, the following method does...
Posted by
PeterRitchie
|
5 comment(s)
Filed under:
.NET Development
,
Software Development
,
Visual Studio 2008
,
Resharper
Fri, Jul 18 2008 11:46
Drag-copying in Visual Studio Solution Explorer.
NOTE: I've tried this in Visual Studio 2008 (VS2k8), I'm assuming the same thing happens in Visual Studio 2005 (VS2k5). In the process of refactoring, it's *very* common for me to rename a type. This is most easily done by renaming the file...
Posted by
PeterRitchie
|
2 comment(s)
Filed under:
.NET Development
,
Software Development
,
Visual Studio 2008
,
.NET 3.5
,
Product Bugs
,
Poor UI
More Posts
Next page »