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

The winds of change are blowing

Location of unit tests.

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) .NET (105) Software Development (104) C# (100) .NET Development (91) Uncategorized (61) Design/Coding Guidance (50) Random (33) Software Development Guidance (33) DevCenterPost (31) Visual Studio 2005 (19) Visual Studio 2008 (19) Patterns (18) Visual Studio 2010 (14) .NET 2.0 (14) Non-development (13) Architecture (12) .NET 3.5 (12) Pontification (12) .NET 4.0 (11) DDD (10) Visual Studio 2010 Best Practices (10) General (10) C# 3.0 (9) Domain-Driven Design (8) Azure (8) Microsoft (8) .NET 4.5 (8) Visual Studio (7) ASP.NET (5) OOD (5) Interesting Find (5) AntiPattern (5) Software Development Principles (5) Windows Store (5) Multithreaded (5) Code Smells (4) WinForms (4) Product Bugs (4) Resharper (4) Visual Studio 2012 (4) Unit Testing (4) DevTeach (4) Visual Studio vNext (4) Message-Oriented Architectures (4) C# 4 (4) .NET 3.x (4) Open Source (4) Windows Phone (4) Agile (3) Aspire (3) Azure Administrator Associate (AZ-104) (3) C# 4.0 (3) C++ (3) C# 5 (3) Concurrency (3) TDD (3) Async Functions (3) Software Development Workflow (3) Distributed Systems (3) MOM (3) WCF (3) Software Development Practices (3) Security (3) Windows Phone 8.1 (3) Windows Phone 8.0 (3) Managing Expectations (2) Software Architecture (2) Fundamentals (2) System of Record (2) ConsoleApplicationBuilder (2) Mapping (2) Translation (2) Naming Things (2) C# 13 (2) Entity Framework (2) Cosmos DB (2) Optimistic Concurrency (2) Minimal APIs (2) Markdown (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) Visual Studio 2013 (2) Mobile (2) Windows Phone 7.1 (2) EffectiveIoC (2) Visual studio 2010 Best Practices (2) Code Analysis/FxCop Warning Resolutions (2) SCC (2) Subversion (2) SVN (2) DevTeach YOW 2011 (2) Rant (2) .NET Core (2) ASP.NET Core (2) Guidance (2) Software (2) Tips (2) XAML (2) Heartbleed (2) Single Source of Truth (1) Mapperly (1) Identity Obsession (1) EFCore (1) Identity (1) Mapster (1) .NET 9 (1) Git (1) ETag (1) Repository (1) Application Service (1) HTTP (1) ASP.NET 6 (1) Integration Testing (1) Developer Experience (1) Optimization (1) Quality Attributes (1) Event-Oriented (1) Tips & Tricks (1) Workplace (1) REST (1) Book Review (1) Refactoring (1) Refactoring with Visual Studio 2010 (1) DevTeach YYZ 2010 Toronto (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) C++/CLI (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) Visual Studio 2005 Service Pack 1 Beta (1) MFC (1) Humourous (1) SkyDrive (1) Azure Mobile Services (1) C/C++ (1) Win32 (1) Productivity Extensions (1) async (1) health/fitness (1) Code Contracts (1) DbC (1) Visual Studio 2011 (1) Windows 8 (1) RabbitMQ (1) Opinion (1) Usability (1) Unity 2.0 (1) Versioning (1) SOA (1) declarative (1) guidance (1) Decorator (1) Observability (1) Life Hacks (1) Options (1) Configuration (1) Bridge (1) Design (1) Provider Model (1) Provider (1) Odds (1) Hacks (1) Visual Studio 2017 (1) SOLID (1) Principles (1) Distributed Computing (1) Appveyor CI (1) Message-oriented (1) LongPath (1) Apps (1) GIT (1)