Design/Coding Guidance

The Dreaded Re-write

Seam expansion

“CONSIDER providing method Close(), in addition to the Dispose(), if close is standard terminology in the area” considered deprecated

Maslow’s Hammer

If you think you need to use an ORM, think some more.

volatile–You Keep Using That Word, But I Do Not Think You Know What It Means

The Subtle Differences Between Events and Commands in a Message-oriented System

Dependency Injection

IDisposable and Class Hierarchies

The Dispose Pattern as an anti-pattern

Leave predicting to meteorologists and fortune-tellers

Thread synchronization of non-atomic invariants in .NET 4.5

The Rat-hole of Object-oriented Mapping

If You’re Using “#if DEBUG”, You’re Doing it Wrong

Criteria for Success

Mapping to Your Database is a Private Affair

Testing Strategies Involving Async Functions

Deep Dive on Closure Pitfalls

Using the dynamic Keyword in C# to Improve Object Orientation – A Follow-up

Using the dynamic Keyword in C# to Improve Object-Orientation

The Difference between an Anti-Pattern and a Code Smell

Evolving code over time

DevTeach 2009 Vancouver

A Upcoming Pandemic of Domain Anaemia

House of Cards Design Anti-pattern

Becoming a Visual Studio Jedi Part 1

Location of unit tests.

The winds of change are blowing

Law of Reversibility of Attributes

DataGridViewColumn.Frozen

ITSWITCH #1: Answer

ITSWITCH: #1

Nested Types

Entity Framework Petition of Vote of Non Confidence

Fundamentals of OOD Part 3: Method Cohesion

Spaces or Tabs?

Fundamentals of OOD, Part 2 – Encapsulation Scope

Fundamentals of Object-Oriented Design (OOD) Part 1

Upcoming C# 3 Guidance From Microsoft

Single-Entry, Single-Exit, Should It Still Be Applicable In Object-oriented Languages?

A Time and Place for Code Comments

New warning CS0809 in C# 3 (Visual Studio 2008)

Thread.Abort is a Sign of a Poorly Designed Program

Exception Logging

Performance Implications of try/catch/finally, Part Two

Performance Implications of try/catch/finally

The Religion of Class Member Prefixing

DateTime.ToUniversalTime *Should* Throw Exceptinos.

Accumulative Construction

Writing Solid Code


msmvps (275) Software Development (101) C# (95) .NET Development (91) Uncategorized (61) Design/Coding Guidance (50) Software Development Guidance (33) DevCenterPost (31) Visual Studio 2005 (19) Visual Studio 2008 (19) Patterns (15) Visual Studio 2010 (14) .NET 2.0 (14) Non-development (13) Pontification (12) .NET 3.5 (12) August 2008 (12) .NET 4.0 (11) January 2008 (11) Visual Studio 2010 Best Practices (10) General (10) September 2006 (10) .NET (10) Architecture (9) C# 3.0 (9) July 2008 (9) February 2008 (9) .NET 4.5 (8) April 2014 (8) Microsoft (8) November 2008 (8) May 2008 (8) October 2006 (7) DDD (7) July 2006 (7) April 2010 (6) February 2010 (6) June 2008 (6) March 2008 (6) June 2007 (6) Software Development Principles (5) Windows Store (5) Multithreaded (5) February 2014 (5) AntiPattern (5) November 2011 (5) OOD (5) Interesting Find (5) December 2007 (5) May 2007 (5) March 2007 (5) February 2007 (5) Domain-Driven Design (5) Azure (5) Open Source (4) Windows Phone (4) Visual Studio 2012 (4) March 2013 (4) November 2012 (4) September 2012 (4) Unit Testing (4) Visual Studio (4) DevTeach (4) Visual Studio vNext (4) Message-Oriented Architectures (4) May 2011 (4) December 2010 (4) C# 4 (4) .NET 3.x (4) May 2010 (4) WinForms (4) March 2009 (4) Product Bugs (4) Resharper (4) October 2007 (4) Code Smells (4) Software Development Practices (3) July 2014 (3) May 2014 (3) Security (3) Windows Phone 8.1 (3) Windows Phone 8.0 (3) Random (3) October 2013 (3) C# 5 (3) Concurrency (3) TDD (3) February 2012 (3) January 2012 (3) Async Functions (3) Software Development Workflow (3) September 2011 (3) Distributed Systems (3) MOM (3) WCF (3) October 2010 (3) C# 4.0 (3) January 2009 (3) October 2008 (3) September 2008 (3) August 2007 (3) April 2007 (3) C++ (3) Aspire (3) June 2023 (3) September 2022 (3) February 2015 (2) Tips (2) August 2014 (2) XAML (2) Heartbleed (2) March 2014 (2) Visaul Studio 2013 (2) January 2014 (2) Mobile (2) Windows Phone 7.1 (2) April 2013 (2) EffectiveIoC (2) January 2013 (2) Visual studio 2010 Best Practices (2) April 2012 (2) Code Analysis/FxCop Warning Resolutions (2) SCC (2) Subversion (2) SVN (2) DevTeach YOW 2011 (2) October 2011 (2) Rant (2) March 2011 (2) November 2010 (2) June 2010 (2) July 2009 (2) April 2009 (2) ALT.NET (2) Visual Studio 2008 SP1 (2) Framework Bug (2) Pop Quiz (2) Poor UI (2) MVP (2) C# 3.0 Breaking Changes (2) C# Nugget (2) September 2007 (2) July 2007 (2) November 2006 (2) Mapping (2) Translation (2) Oct 2024 (2) Aug 2024 (2) C# 13 (2) June 2024 (2) Entity Framework (2) October 2023 (2) ASP.NET (2) Cosmos DB (2) Optimistic Concurrency (2) May 2023 (2) December 2022 (2) June 2022 (2) September 2018 (2) December 2017 (2) June 2017 (2) August 2006 (2) March 2006 (2) September 2014 (1) LongPath (1) Apps (1) GIT (1) SkyDrive (1) December 2013 (1) Azure Mobile Services (1) C/C++ (1) Win32 (1) July 2013 (1) Productivity Extensions (1) async (1) February 2013 (1) health/fitness (1) August 2012 (1) May 2012 (1) December 2011 (1) Code Contracts (1) DbC (1) Visual Studio 2011 (1) Windows 8 (1) August 2011 (1) July 2011 (1) June 2011 (1) RabbitMQ (1) Opinion (1) Software (1) Usability (1) April 2011 (1) February 2011 (1) Unity 2.0 (1) Book Review (1) August 2010 (1) Refactoring (1) Refactoring with Visual Studio 2010 (1) March 2010 (1) DevTeach YYZ 2010 Toronto (1) December 2009 (1) August 2009 (1) May 2009 (1) Microsoft Patterns and Practices (1) Definition (1) DevTeach YUL 2008 (1) techdays2008 (1) Connect Issue (1) Connect Suggestion (1) Kaikaku (1) Kaizen (1) Lean (1) ITSWITCH Answer (1) ITSWITCH (1) Asynchronous Programming Model (APM) (1) TCP (1) CodeRush Refactor! Pro (1) Reader Questions (1) April 2008 (1) C++/CLI (1) November 2007 (1) Debugging (1) Code Analysis Rules (1) Visual Studio Orcas (1) SilverLight (1) New Forums (1) Small Business Server 2003 R2 (1) Team Foundation Server (1) January 2007 (1) Visual Studio 2005 Service Pack 1 Beta (1) MFC (1) Humourous (1) Nov 2024 (1) Mapperly (1) Naming Things (1) Identity Obsession (1) EFCore (1) Sept 2024 (1) Identity (1) Mapster (1) July 2024 (1) .NET 9 (1) May 2024 (1) Git (1) ETag (1) Repository (1) Application Service (1) HTTP (1) February 2023 (1) November 2022 (1) October 2022 (1) August 2022 (1) Markdown (1) Tips & Tricks (1) Workplace (1) Agile (1) December 2019 (1) REST (1) Versioning (1) November 2019 (1) June 2019 (1) April 2019 (1) February 2019 (1) August 2018 (1) July 2017 (1) Visual Studio 2017 (1) May 2017 (1) Message-oriented (1) September 2016 (1) March 2015 (1)