Category: Bug Hunting
It’s bug season! We document our experiences hunting bugs, and give advice on how to find and fix bugs in your codebase using NDepend.
10 Reasons Why You Should Write Tests
February 9, 2021 8 minutes read As many, I started programming when I was a child 3 decades years ago. With no doubt, the most important practice I’ve adopted during...
Include IL Offset into Production Exception Stack Traces
February 2, 2021 3 minutes read In a previous post The proper usages of Exceptions in C# I explained that it is important to get as much information as possible...
The proper usages of Exceptions in C#
December 16, 2020 9 minutes read The C# exception basics are generally well understood. However exceptions are often used as a way to sweep error handling duty under the carpet....
Strategies to Catch Regression Bugs before Production: A Case Study
October 19, 2020 6 minutes read That’s quite a coincidence that a few days after promoting the joy of immutability in the post C#9 records: immutable classes we stumbled on...
Case Study : Complex UI Testing
April 29, 2020 6 minutes read In the previous post Case Study: 2 Simple Principles to achieve High Code Maintainability I explained that the principles layered code + high coverage...
The continuous adaptation of Visual Studio extensions
July 4, 2019 5 minutes read One could think that developing an extension for a two-decades+ product as mature as Visual Studio is headache-less. Not really. Visual Studio is a...
You Should Favor Software Products That Include Support in the Price
September 11, 2018 1 minutes read Quite often we talk about architectural concerns on this blog, with topics like application layering or the merits of design patterns. But today I’m...
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...
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...
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....
How to Scale Your Static Analysis Tooling
December 1, 2016 2 minutes read If you wander the halls of a large company with a large software development organization, you will find plenty of examples of practice and process...
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...
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...
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...
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...
The Better Code Book – Our MVPs of 2015
February 24, 2016 3 minutes read We firmly believe spaghetti belongs on the dinner table and not in code. Our mission when starting NDepend was to create a tool to...
A Software Architect’s Best Friend
July 29, 2015 5 minutes read To this day, I have a persistent nightmare about my time in college. It’s always pretty similar. I wake up and I have a...
Toward Bug Free Software: Lines of Defense
July 21, 2015 9 minutes read Hurrah!! Last week we released NDepend v6 RTM. Once again we relied on a 2 months private beta-testing period and a one month Release Candidate period to do...