dotNetDave Says… Clear Naming Standards Create Clearer Code and Clearer Code Leads to Better Software

Clear naming standards in software development significantly enhance code readability, maintainability, and overall quality. Consistent naming reduces cognitive load, facilitates collaboration, and lowers long-term maintenance costs. Ignoring these standards leads to confusion, longer development times, and increased technical debt. Investing in robust naming conventions is essential for professional-grade software development.

dotNetDave Says… Rushing into Coding Without Proper Planning Will Lead to Costly Mistakes and Delays

Effective software projects require thorough planning and architecture before coding begins. Skipping these steps often leads to costly mistakes, delays, and technical debt. A strong foundation improves system maintainability and user satisfaction. Managers should focus on results over constant activity; proper planning enhances delivery speed and quality, fostering happier users.

Inside the AWS SDK for .NET: A Code Quality Wake-Up Call

The author critically reviews the AWS SDK for .NET, revealing alarming code quality issues, including 959,815 total violations and severe design flaws leading to potential memory leaks and resource management problems. Despite its popularity, the SDK presents significant risks for .NET developers, highlighting the importance of thorough assessment of open-source packages.

Visual Studio 2026: Regressions, Reliability Issues, and Missed Opportunities

Visual Studio 2026 has regressed by removing or disabling key code-quality features, making development more difficult. The Analyze tool suffers from inconsistencies and lack of reliability, while various testing functionalities are also flawed. AI tools like Copilot cannot replace essential code-quality features. Greater MVP involvement and thoughtful updates are needed to enhance the IDE.

Rock Your Code: Code & App Performance for Microsoft .NET (5th Edition)

The fifth edition of David McCarter's book, "Röck Yöur Cöde: Code & App Performance for Microsoft .NET," is now available on Amazon. It offers practical techniques for enhancing .NET application performance, including coding patterns, memory insights, and benchmarking. This definitive guide is essential for modern .NET developers aiming for speed and scalability.

Defensive Programming Rule #6: Verify Resource Availability (Before You Access It)

The article emphasizes the importance of defensive programming in .NET applications by validating resource availability before access. It outlines guidelines for checking connectivity, setting timeouts, and managing user experiences when resources are unavailable. The author shares personal insights and promotes Spargine, an open-source project designed to enhance defensive programming practices.

Defensive Programming Rule #5: Let the Compiler Work for You — Harness the Power of Type Checking

The excerpt discusses coding standards highlighted in "Rock Your Code: Coding Standards for Microsoft .NET," emphasizing the pitfalls of using numerous public fields in a class. It advocates for strong typing, proper encapsulation, and input validation to enhance object integrity. The author underscores the importance of self-documenting code for maintainability.

Defensive Programming Rule #4: Safe and Efficient Type Casting

This article emphasizes defensive programming by highlighting safe type compatibility checks in .NET. It advises using the 'is' keyword to prevent InvalidCastException and warns against unnecessary type casts that clutter code and affect performance. The open-source project Spargine aids developers with tools for better validation and logging, promoting cleaner, more resilient applications.

dotNetDave Rocks Austin .NET User Group November 2025 Meeting

The dotNetDave No Rest for the Wicked World Tour will visit Austin on November 20, 2025, where I will present a session titled "Röck Yoür Cöde." This session addresses critical issues in memory management related to disposable types in .NET, offering practical techniques to enhance application performance and prevent slowdowns and leaks.

Defensive Programming Rule #3: Validate Your Enums (Every Time)

Enums enhance code readability but can lead to errors if not validated, as any integer can be cast as an Enum, including invalid values. Validating Enum inputs prevents silent data corruption, ensures meaningful defaults, and avoids processing impossible states. Always validate at method boundaries and define a zero value as "unknown."