![]() The following graph tells me that MassTransit.SignalR takes a dependency on MassTransit.ExtensionsDependencyInjectionIntegration (the default Microsoft DI container). If I was new to MassTransit, I could clone the repository and look at the dependency graph. Let's say I wanted to use MassTransit's SignalR integration. This is one of those features that even developers new to C# can appreciate. The way files are laid in project can tell you a lot about what's going on, but visualizations make it easier to create a mental model. ![]() NDepend also allows you to generate a bunch of graphs that can act as a map to your application. Makes it easier to approach a new codebase With NDepend, it makes it possible to prioritize certain portions of the code over the others instead. NET analyzers also encourage you to maintain code quality over the entire codebase. This makes it easier to write clean code incrementally. It allows you to look at new debt introduced over time by allowing you to compare with a "baseline". NET Analyzer rules is sure to spit a gazillion warnings. But if you own a code base with a lot of technical debt, enabling all. They are perfect if the code has near-zero debt, and also work just fine for new projects. It's often wiser to first start by not introducing any new debt, and then identify patterns in existing well-written code, and then see how we could clean old code up. It's not usually possible for a team to decide that they're gonna pay of all their technical debts in the next n days. If you choose to start with writing some unclean code, NDepend can now help you estimate how long it'll take to get that code in order. Building the feature well would require you to either refactor some existing code or write some unclean code. Let's say you are working on prototype feature. The simplest way to reason about introducing low-quality code is to weigh its short-term benefits with long-term consequences. Like every other debt, technical debt could be okay if we're responsible about it. ![]() Here are a few things about NDepend that I thought was cool: Estimating dev effort associated with technical debt And how a team could go about deciding whether they could benefit from NDepend. So, I thought, for this post, I'd explore how the tool could possibly help you or your team write better code. Now if you search through the internet, you'll see a ton of posts talking about NDepend's features. ![]() NDepend is a tool focused on improving your. Patrick Smacchia emailed a few years back asking me to try NDepend **, and I've been playing around with it through 2021. The last point, in particular, directly contradicts the meme, doesn't it?
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |