Improve Your Code Review Game with NDepend
Code review is a subject with which I’m quite familiar. I’m familiar first as a participant, both reviewing and being reviewed, but it goes deeper than that. As an IT...
Code Metric Visualization: Lines of Code and Code Coverage
One of the features of NDepend that we get a lot of positive feedback about is its data visualization, and it’s really no surprise. The code metric visualizations allow teams...
The Power of CQLinq for Developers
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 a connoisseur of the programming profession,...
Let’s Build a Metric: Wrapping Up
In the penultimate post in the metrics series, I explained the reasoning for winding down this series. I also talked about performing one last experiment. Well, that last experiment is...
How to Add Static Analysis to Your Development Process
As a consultant, one of the more universal things that I’ve observed over the years is managerial hand-waving. This comes in a lot with the idea of agile processes, for instance....
Legacy Code for Developers: Managing your Manager
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 cup of coffee, and drops a...
Static Analysis for Small Business
I was asked recently, kind of off the cuff, whether I thought that static analysis made sense for small business. I must admit that the first response that popped into...
A Visual Studio script that saves time and pain
After years of pain, I finally found a clean-and-definitive way to get rid of the dreadful issue Could not copy assembly, the process cannot access the file because it is...
A Manager’s Guide to Legacy Code
If you have a sadistic streak and manage a team of software developers, it’s probably high entertainment to dredge up some old, dusty piece of software and then to task...
NDepend vs. ReSharper
Not too long ago, someone asked me for a comparison of ReSharper (commonly and affectionately abbreviated R#) and NDepend. I didn’t really grok the question, so I asked, “in what...
The Better Code Book – Our MVPs of 2015
We firmly believe spaghetti belongs on the dinner table and not in code. Our mission when starting NDepend was to create a tool to make best coding practices easier to...
How Siemens Healthcare manages over 500 million lines of code – An NDepend Case Study
Siemens Healthcare produces imaging equipment for the medical sector in a variety of fields and is based in Germany. Looking to reduce development costs on the next generation of medical imaging...
Let’s Build a Metric Reconsidered
If you’ve been keeping track, you’ll noticed that it’s been a while since the last post in this series. In case you’d forgotten or lost track, the primary goal is to...
Bridging the Communication Gap Between Developers and Architects
If you want to set off a ceaseless, spirited discussion, ask a roomful of people what makes some music good and other music bad. The opinions are likely to be...
Put a Little NDepend in your Visual Studio
The software development world is filled with what I think of as “Coke-Pepsi” debates. This is how my brain categorizes debates over preference that are almost entirely subjective. There is...
Calculating the ROI of NDepend
Years ago, I discovered NDepend and downloaded it for a trial. At the time, I found myself working in a .NET shop where a lot of developers worked in the...
That Code’s Not Dead – It Went To a Farm Upstate… And You’re Paying For It
When it comes to pets, there’s a heartbreaking lie that parents often tell little children when they believe that those children are not yet ready to wrap their heads around...
The Case for the NDepend Dashboard Feature
If you hang around agile circles long enough, you’re quite likely to hear the terms “big, visible chart” and “information radiator.” I think both of these loosely originate from the...
Visualizing Your (Real) Software Architecture
Diagrams of software architecture have a certain aesthetic appeal to them. They usually consist of grayscale or muted pastel colors and nice, soft shapes with rounded edges. The architects that make...
With Code Metrics, Trends are King
Here’s a scene that’s familiar to any software developer. You sit down to work with the source code of a new team or project for the first time, pull the...
Let’s Build a Metric: Global and Local Scope
Last time in this series, I began an exploration of how a method might be impacted by the scope of the variables that it uses. The idea is that it’s...
Be Careful with Software Metaphors
Over the years, there have been any number of popular software metaphors that help people radically misunderstand the realities of software development. Probably the most famous and persistent one is...
The Most Important Code Metrics You’ve Never Heard Of
Oh, how I hope you don’t measure developer productivity by lines of code. As Bill Gates once ably put it, “measuring software productivity by lines of code is like measuring progress...
NDepend updated to Version 6.2
NDepend version 6.2 has just been released. We have addressed over 20 bug fixes, including a blocker one for Visual Studio 2015 update 1 Git Controls. More specifically the new Visual...
Let’s Build a Metric: Using CQLinq to Reason about Application State
I’ve been letting the experiments run for a bit before posting results so as to give all participants enough time to submit, if they so choose. So, I’ll refresh everyone’s...
Mistakes Dev Managers Make
Managing a team of software developers is a tall order. This is doubly true when the line management includes both org chart duties (career development, HR administrivia, etc) and responsibility...
Let’s Build a Metric: Incorporating Results and Exploring CQLinq
It turns out I was wrong in the last post, at least if the early returns from the second experiment are to be believed. Luckily, the scientific method allows for...
Refactoring is a Development Technique, Not a Project
One of the more puzzling misconceptions that I hear pertains to the topic of refactoring. I consult on a lot of legacy rescue efforts, and refactoring, and people in and...
NDepend Case Study: Increasing Development Efficiency in the Medical Laboratory Sector
Developing applications for use in the health care industry is stressful because the margin of error is almost non-existent. Whether your tool is for treatment, research, or analysis, it needs...
Let’s Build a Metric 7: Counting the Inputs
Over the last two Let’s Build a Metric installments of this series, I’ve talked about different ways to count lines of code and about ways to count different paths through...