Category: Static Analysis
Everything static analysis with NDepend. We write on the why, the how, and how proper static analysis processes can save tons of time, money, and reduce stress.
Cyclomatic Complexity in C#: Everything You Need to Know
October 21, 2024 3 minutes read Cyclomatic complexity is a code metric used to measure the complexity of a program’s control flow. In C#, it represents the number of independent...
Why Should Managers Care About Static Analysis?
March 22, 2024 5 minutes read I’d like to talk a bit today about how, if you’re a dev manager for a team or teams that are responsible for .NET...
SOLID Design in C#: The Interface Segregation Principle (ISP) with Examples
November 13, 2023 6 minutes read The Interface Segregation Principle (ISP) is one of the five essential SOLID design principles. These principles are guidelines for the proper usage of object-oriented features. The...
Hungarian Notation for Fields in C#
April 21, 2021 6 minutes read If there is one topic that divides the C# developers community, it is the Hungarian notation for fields. In our team we rely on...
Is Artificial Intelligence Assisted Coding the Next Developer Productivity Silver Bullet?
January 26, 2021 9 minutes read The famous Fred Brooks paper “No Silver Bullet – Essence and Accident in Software Engineering“ published in 1987 stated that: “there is no single development,...
When your brain can’t handle the complexity: NDepend and PostSharp
November 2, 2020 5 minutes read The size and complexity of codebases have exploded in the last decade. What can you do when your codebase no longer fits your brain?...
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...
.NET 5.0 App Trimming and Potential for Future Progress
September 28, 2020 7 minutes read In this article we will: go through the various ways to publish a .NET 5.0 application, play with .NET 5.0 app trimming to reduce...
Top 10 .NET 5.0 new APIs
September 21, 2020 9 minutes read When a new major .NET version hits Release Candidate, it is time to use the NDepend code review changes capabilities to browse which new...
Business Complexity vs. Implementation Complexity
September 19, 2019 6 minutes read It is good software design practice to make sure that methods can be entirely viewed in the code editor that typically shows 30 to...
Static Analysis and Dependency Injection
September 3, 2019 4 minutes read For quite some years now, we (the NDepend team) got some demand about resolving Dependency Injection, see this page on our User Voices. Lately...
Are SOLID principles Cargo Cult?
August 13, 2019 6 minutes read My last post about SOLID Design: The Single Responsibility Principle (SRP) generated some discussion on reddit. The discussion originated from a remark considering SOLID...
Exploring .NET Core 3.0 new API
February 21, 2019 9 minutes read .NET Core 3.0 is representing a major step for the .NET community. It is interesting to analyze what’s new in the API directly from...
Advanced Code Search : A Case Study
January 16, 2019 3 minutes read This morning I stumbled on a complex test to write. The need was to create and show a custom Form (written with Windows Form)...
Log4net vs NLog: A Comparison of How They Affect Codebases
June 12, 2018 1 minutes read Ah, the old “versus” Google search. Invariably, you’re in the research stage of some decision when you type this word into a search engine. ...
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...
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...
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...
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...
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...
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...
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...
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...
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...
How to Analyze a Static Analyzer
March 30, 2017 1 minutes read First things first. I really wanted to call this post, “who will analyze the analyzer,” because I fancy myself clever. This title would have...
Static Analysis Issue Management Gets a Boost
March 23, 2017 2 minutes read Years ago, I led a team of software developers. We owned an eclectic portfolio of software real estate. It included some Winforms, Webforms, MVC, and...
Quality Gates with NDepend to Help You Fail Fast
March 9, 2017 1 minutes read I had this car once. I loved the thing, but, before the end of its life, my wife and I had developed sort of...
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...
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....
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...