NDepend Blog

Improve your .NET code quality with NDepend

CRAP Metric Is a Thing And It Tells You About Risk in Your Code

November 9, 2017 2 minutes read I won’t lie.  As I thought about writing this post, I took special glee in contemplating the title.  How should I talk about the...
Erik Dietrich November 9, 2017

Code Reuse is Not a Good Goal

November 2, 2017 2 minutes read Wait, wait, wait.  Put down the pitchforks and listen for a minute.  You’re probably thinking that I’m about to tout the “virtues” of copy/paste...
Erik Dietrich November 2, 2017

The Singleton Design Pattern: Impact Quantified

October 26, 2017 3 minutes read This post has been about a month in the offing.  Back in August, I wrote about what the singleton pattern costs you.  This prompted...
Erik Dietrich October 26, 2017

You Have No Excuse for Dead Code

October 19, 2017 2 minutes read In darker times, software management would measure productivity as a function of lines of code.  More code means more done, right?  Facepalm.  When I...
Erik Dietrich October 19, 2017

Static analysis of .NET Core 2.0 applications

October 12, 2017 3 minutes read NDepend v2017.3 has just been released with major improvements. One of the most requested features, now available, is the support for analyzing .NET Core 2.0...
NDepend October 12, 2017

Without Seeing Your Application’s Dependency Graph, You’re Flying Blind

October 12, 2017 2 minutes read Software architecture tends to be a pretty hard game.  Writing scripts and little toy apps is easy enough.  You build something and then you...
Erik Dietrich October 12, 2017

Get Smart — Go Beyond Cyclomatic Complexity in C#

October 5, 2017 2 minutes read Recently, I wrote a post explaining the basics of cyclomatic complexity.  You can read that for a deep dive, but for our purposes here,...
Erik Dietrich October 5, 2017

C# Tools to Help with Your Code Quality

September 28, 2017 1 minutes read Over the years, one of the things I’ve come to love about the .NET ecosystem is the absolute abundance of tools to help you....
Erik Dietrich September 28, 2017

Marker Interface Isn’t a Pattern or a Good Idea

September 7, 2017 3 minutes read Today, I have the unique opportunity to show you the shortest, easiest code sample of all time.  I’m talking about the so-called marker interface....
Erik Dietrich September 7, 2017

Migrating from HTTP to HTTPS in a IIS / ASP.NET environment

September 5, 2017 5 minutes read Google is urging more and more webmasters to move their sites to HTTPS for security reasons. We did this move last week for our IIS...
NDepend September 5, 2017

Understanding the Difference Between Static And Dynamic Code Analysis

August 31, 2017 3 minutes read I’m going to cover some relative basics today.  At least, they’re basics when it comes to differentiating between static and dynamic code analysis.  If...
Erik Dietrich August 31, 2017

Using NDepend To Get Going Quickly on C# Projects

August 24, 2017 2 minutes read Assuming you’ve had at least one job working on one or more C# projects, let me paint a familiar picture for you.  I’m talking...
Erik Dietrich August 24, 2017

The Role of Static Analysis in Testing

August 10, 2017 2 minutes read “What do you do?” In the United States, people ask this almost immediately upon meeting one another for the first time.  These days, I...
Erik Dietrich August 10, 2017

Our experience with using third-party libraries

August 3, 2017 5 minutes read NDepend is a tool that helps .NET developers write beautiful code. The project was started in April 2004. It is now used by more...
NDepend August 3, 2017

How Has Static Code Analysis Changed Through the Years?

August 3, 2017 2 minutes read Years ago, I found myself staring at about 10 lines of source code.  This code had me stymied, and I could feel the onset...
Erik Dietrich August 3, 2017

Code Coverage Should Not Be a Management Concern

July 27, 2017 2 minutes read You could easily find yourself mired in programmer debates over code coverage.  Here’s one, for instance.  It raged on for hundreds of votes, dozens...
Erik Dietrich July 27, 2017

Is Your Team Wrong About Your Codebase? Prove It. Visually.

July 20, 2017 2 minutes read I don’t think I’ll shock anyone by pointing out that you can find plenty of disagreements among software developers. Are singletons evil? What’s the...
Erik Dietrich July 20, 2017

Code Quality Metrics: Separating the Signal from the Noise

July 13, 2017 2 minutes read Say you’re working in some software development shop and you find yourself concerned with code quality metrics.  Reverse engineering your team’s path to this...
Erik Dietrich July 13, 2017

C# Version History: Examining the Language Past and Present

July 6, 2017 1 minutes read I still remember my first look at C# in the early 2000s.  Microsoft had released the first major version of the language.  I recall...
Erik Dietrich July 6, 2017

What is Static Analysis? An Explanation for Everyone

June 29, 2017 2 minutes read Static analysis, as a concept, seems to earn itself a certain reputation.  The general population may regard programming as a technocratic, geeky pursuit.  But...
Erik Dietrich June 29, 2017

Should You Aim for 100 Percent Test Coverage?

June 22, 2017 2 minutes read Test coverage serves as one of the great lightning rods in the world of software development.  First, people ask whether it makes for a...
Erik Dietrich June 22, 2017

In Defense of Using Your Users as Software Testers

June 15, 2017 3 minutes read In most shops of any size, you’ll find a person that’s just a little too cynical.  I’m a little cynical myself, and we programmers tend...
Erik Dietrich June 15, 2017

How to Use NDepend’s Trend Charts

June 8, 2017 1 minutes read Imagine a scene for a moment.  A year earlier, a corporate VP spun up a major software project for his organization.  He brought a slew...
Erik Dietrich June 8, 2017

Fixing Your Tangled Dependency Graph

June 1, 2017 1 minutes read I’ve written before about making use of NDepend’s dependency graph.  Well, indirectly, anyway.  In that post, I talked about the phenomenon of actual software architecture...
Erik Dietrich June 1, 2017

Why NDepend Uses Google’s Page Rank

May 25, 2017 4 minutes read I remember my early days of blogging as sort of a comedy of errors.  Oh, don’t get me wrong.  I don’t think those early...
Erik Dietrich May 25, 2017

Is There a Correct Way to Comment Your Code?

May 18, 2017 2 minutes read Given that I both consult and do a number of public things (like blogging), I field a lot of questions.  As a result, the...
Erik Dietrich May 18, 2017

Are Code Rules Meant to Be Broken?

May 11, 2017 2 minutes read If you’ve never seen the movie Footloose, I can’t honestly say I recommend it.  If your tastes run similarly to mine, you’ll find it...
Erik Dietrich May 11, 2017

Things Everyone Forgets Before Committing Code

May 4, 2017 2 minutes read Committing code involves, in a dramatic sense, two universes colliding.  Firstly, you have the universe of your own work and metaphorical workbench.  You’ve worked...
Erik Dietrich May 4, 2017

How to Evaluate Your Static Analysis Process

April 27, 2017 1 minutes read I often get inquiries from clients and prospects about setting up and operationalizing static analysis.  This makes sense.  After all, we live in a...
Erik Dietrich April 27, 2017

Pulling Your Team Through a Project Crunch

April 20, 2017 1 minutes read Society dictates, for the most part, that childhood serves as a dress rehearsal for adulthood.  Sure, we go to school and learn to read,...
Erik Dietrich April 20, 2017