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...
C#9 records: immutable classes
October 12, 2020 8 minutes read Record is a long time awaited feature now proposed by C# 9. With record we have a concise syntax to define immutable types this...
New C#9 keywords ‘and’ ‘or’ ‘not’
October 5, 2020 4 minutes read HoweverThe C#9 language introduces new controversial keywords: and keyword: Conjunctive patterns. Require both patterns to match or keyword: Disjunctive patterns. Require either pattern to...
.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...
Architecture of a C# game rendered with Blazor, Xamarin, UWP, WPF, and Winforms
September 15, 2020 5 minutes read When I wrote my last post Blazor Internals you need to know I came across this great project on github: AsteroidsWasm. This project is...
Blazor Internals you need to know
September 3, 2020 9 minutes read Lately the Blazor technology received a lot of attention both from Microsoft and from the .NET community. Blazor is a UI technology. The ASP.NET...
14 Visual Studio Web Development Productivity Tips
July 28, 2020 5 minutes read Visual Studio proposes quite a few handy tools to boost your productivity as a web developer. Here are some tips focused around web code...
10 Visual Studio Files and Layout Productivity Tips
July 21, 2020 3 minutes read Nowadays most developers are working remotely. Hence the monitor(s) configuration might have changed, and might change frequently. In this context, it does matter to...
10 Visual Studio Navigation Productivity Tips
July 14, 2020 6 minutes read A large code base is a complex asset. Visual Studio is a complex environment. In this context developers spend a significant part of their...
Top 10 Visual Studio Refactoring Tips
July 7, 2020 6 minutes read With the version 2019 Visual Studio is now mature when it comes to refactoring. This post proposes a tour of the top 10 most...
12 Visual Studio Debugging Productivity Tips
June 30, 2020 7 minutes read In this post we assume the the reader knows the basics of debugging with Visual Studio: F5 to start running with the debugger F9...
10 Visual Studio Ninja Code Editor Productivity Tips
June 24, 2020 3 minutes read Among the multiple daily development tasks (planning, testing, refactoring, bug fix…) code edition is arguably the most satisfying one. Code edition can be even...
10 Visual Studio Solution Explorer Productivity Tips
June 17, 2020 5 minutes read The Visual Studio Solution Explorer panel is like home for Visual Studio users. It presents all projects, source files and items thanks to a...
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...
Advices to Become a Remote Programmer
March 10, 2020 6 minutes read With the actual COVID-19 worldwide outbreak many programmers are already forced to work remote, and we can expect that most of us will soon...
Don’t rely on someone else to protect your software
February 20, 2020 4 minutes read This morning I stumbled on this post Decompilation of C# code made easy with Visual Studio on the Visual Studio blog. Basically VS will...
Mythical man month : 10 lines per developer day
February 10, 2020 4 minutes read The mythical book, Mythical man month quotes that no matter the programming language chosen, a professional developer will write on average 10 lines of code...
Not planning now to migrate your .NET 4.8 legacy, is certainly a mistake
January 16, 2020 4 minutes read 2020 will see the achievement of the massive remodeling of the .NET platform initiated by Microsoft in November 2014 with the introduction of .NET...
4 Predictions for the Future of .NET
October 8, 2019 6 minutes read In May 2019, Microsoft officially announced .NET 5, the future of .NET: it will be based on all the .NET Core work already achieved....
.NET Core 3.0 New APIs
September 25, 2019 2 minutes read .NET Core 3.0 has just been released, see here the official announcement. In this post we’re going to explain how to list and explore...
Find API Breaking Changes in your .NET Libraries and Frameworks
September 24, 2019 3 minutes read If you are developing a framework, the last thing you want to happen when releasing a new version of your product is to break...
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...
Answers to arguments against 100% coverage
September 10, 2019 7 minutes read I’ve been enthusiast about 100% coverage for more than a decade. The large code base of NDepend we are working on will reach soon...
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...
Identify .NET Code Structure Patterns with no Effort
July 16, 2019 7 minutes read The two pillars of code maintainability are automatic testing and clean code structure. Testing is used to regularly challenge code correctness and detect regression...
Ensure that your classes are declared as sealed when possible
July 10, 2019 3 minutes read Inheritance is one of the pillar of OOP. However, in the real world, most classes are not designed to be properly inheritable. Properly designing...
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...