NDepend Blog

Improve your .NET code quality with NDepend

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

What DevOps Means for Static Analysis

April 13, 2017 1 minutes read For most of my career, software development has, in a very specific way, resembled mailing a letter.  You write the thing, and then you...
Erik Dietrich April 13, 2017

Why Expert Developers Still Make Mistakes

April 6, 2017 7 minutes read When pressed, I bet you can think of an interesting dichotomy in the software world.  On the one hand, we programmers seem an extraordinarily...
Erik Dietrich April 6, 2017

Exploring the Technical Debt In Your Codebase

March 3, 2017 1 minutes read Recently, I posted about how the new version of NDepend lets you compute tech debt.  In that post, I learned that I had earned...
Erik Dietrich March 3, 2017

The One Thing Every Company Can Do to Reduce Technical Debt

February 23, 2017 2 minutes read The idea of technical debt has become ubiquitous in our industry.  It started as a metaphor to help business stakeholders understand the compounding cost...
Erik Dietrich February 23, 2017

Computing Technical Debt with NDepend

February 16, 2017 2 minutes read For years, I have struggled to articulate technical debt to non-technical stakeholders.  This struggle says something, given that technical debt makes an excellent metaphor...
Erik Dietrich February 16, 2017

Learning Programming with Hands on Projects

February 9, 2017 1 minutes read If you want a surefire way to make money, look for enormous disparity between demand and supply.  As software developers, we understand this implicitly....
Erik Dietrich February 9, 2017

What Metrics Should the CIO See?

February 2, 2017 1 minutes read I’ve worked in the programming industry long enough to remember a less refined time.  During this time, the CIO (or CFO, since IT used...
Erik Dietrich February 2, 2017

Recovering from a Mission Critical Whiff

January 26, 2017 2 minutes read A career in software produces a handful of truly iconic moments.  First, you beam with pride the first time something you wrote works in...
Erik Dietrich January 26, 2017

Adding Static Analysis to Your Team’s DNA

January 12, 2017 1 minutes read Stop me if this sounds familiar.  (Well, not literally.  I realize that asynchronous publication makes it hard for you to actually stop me as...
Erik Dietrich January 12, 2017

New Year’s Resolutions for Code Quality

December 29, 2016 2 minutes read Perhaps more than any other holiday I can think of, New Year’s Day has specific traditions.  With other holidays, they range all over the map....
Erik Dietrich December 29, 2016

Detecting Performance Bottlenecks with NDepend

December 15, 2016 2 minutes read In the past, I’ve talked about the nature of static code analysis.  Specifically, static analysis involves analyzing programs’ source code without actually executing them....
Erik Dietrich December 15, 2016

How Much Code Should My Developers Be Responsible For?

December 8, 2016 1 minutes read As I work with more and more organizations, my compiled list of interesting questions grows.  Seriously – I have quite the backlog.  And I...
Erik Dietrich December 8, 2016

Concreteness: Entering the Zone of Pain

November 10, 2016 1 minutes read Years ago, when I first downloaded a trial of NDepend, I chuckled when I saw the “Abstractness vs. Instability” graph.  The concept itself does...
Erik Dietrich November 10, 2016

How to Prioritize Bugs on Your To-Do List

November 3, 2016 1 minutes read People frequently ask me questions about code quality.  People also frequently ask me questions about efficiency and productivity.  But it seems we rarely wind up...
Erik Dietrich November 3, 2016

Static Analysis for the Build Machine?

October 20, 2016 2 minutes read I remember my earliest experiences with static analysis.  Probably a decade ago, I started to read about it during grad school and poke around...
Erik Dietrich October 20, 2016

The Relationship between Static Analysis and Continuous Testing

October 13, 2016 1 minutes read As an adult, I have learned that I have an introvert type personality.  I do alright socially, don’t mind public speaking, and do not...
Erik Dietrich October 13, 2016

How to Perform Effective Team Code Reviews

October 6, 2016 1 minutes read I’ve heard people say (paraphrased) that teams succeed uniformly, but fail each in its own unique way.  While I might argue the veracity of...
Erik Dietrich October 6, 2016

Rewrite or Refactor?

September 29, 2016 1 minutes read I’ve trod this path before in various incarnations and I’ll do it again today.  After all, I can think of few topics in software...
Erik Dietrich September 29, 2016

Secrets of Maintainable Codebases

September 28, 2016 2 minutes read You should write maintainable code.  I assume people have told you this at some point.  The admonishment is as obligatory as it is vague....
Erik Dietrich September 28, 2016

What to do when Your Colleague Creates Spaghetti Code

September 15, 2016 2 minutes read I write for a number of different outfits and earn my living consulting around software and IT.  Because of the intersection of these three...
Erik Dietrich September 15, 2016

Considering a Port to .NET Core? Use NDepend

August 25, 2016 2 minutes read An American colloquialism holds, “only two things are certain: death and taxes.”  If I had to appropriate that for the software industry, I might say that...
Erik Dietrich August 25, 2016

Plugging Leaky Abstractions

August 18, 2016 2 minutes read In 2002, Joel Spolsky coined something he called “The Law of Leaky Abstractions.”  In software, an “abstraction” hides complexity of an underlying system from those...
Erik Dietrich August 18, 2016

Measure Your Code to Get Back on Track

August 11, 2016 1 minutes read When I’m called in for strategy advice on a codebase, I never arrive to find a situation where all parties want to tell me...
Erik Dietrich August 11, 2016

Easy to Miss Code Smells

July 7, 2016 2 minutes read The concept of a code smell is, perhaps, one of the most evocative in our profession.  The name itself has a levity factor to...
Erik Dietrich July 7, 2016

Enforcing Immutability in Multi-Threaded Projects with NDepend

June 16, 2016 2 minutes read Early in the days of object oriented programming, we really got a lot of mileage out of the language and paradigm features.  For instance,...
Erik Dietrich June 16, 2016

5 Habits that Help Code Quality

June 9, 2016 2 minutes read When I’m called in to do a strategic assessment of a codebase, it’s never the result of everything being awesome.  That is, no one...
Erik Dietrich June 9, 2016

4 Ways Custom Code Metrics Improve A Development Team

May 12, 2016 2 minutes read One of the things that has surprised me over the years is how infrequently people take advantage of custom code metrics.  I say this...
Erik Dietrich May 12, 2016

The Power of CQLinq for Developers

April 14, 2016 2 minutes read I can still remember my reaction to Linq when I was first exposed to it.  And I mean my very first reaction.  You’d think, as...
Erik Dietrich April 14, 2016

Legacy Code for Developers: Managing your Manager

March 24, 2016 2 minutes read Here’s a campfire horror story of legacy code that probably sounds at least somewhat familiar. One day, your manager strolls by casually, sipping a...
Erik Dietrich March 24, 2016