NDepend User Voice
Welcome to the NDepend User Voice page. Let us know what you would like to see in future versions of NDepend. This site is for suggestions and ideas. If you need to report a bug, please send us an email at support@ndepend.com
We look forward to hearing from you!
Thanks – Patrick Smacchia
NDepend Team
-
Create profiles for different levels of experience
The UI can be overwhelming. I think it would be nice to have different profiles, e.g. for advanced and novice users.
The novice user should have a preset of settings which allow him only to see the basic features... just to create more overview.
Whereas the advanced user doesn't have to remove all the info messages/window.
6 votes -
Is there a possibility to see if there is method summary available?
We would like to have an alert if there is a public method without a method summary on certain namespaces.
Can nDepend help us with that??THANKS guys!
6 votes -
Allow to define colors on dependency graphs
Allow to choose a color for a code element on the dependency graph view and by default choose a color for the query targets and another one for the query results.
6 votes -
Create custom extension methods
NDepend is great but it definitely won't be able to cover all requirements for all customers, so, it'll be much better if we can extend NDepend !
In my organization, we've a lot of rules that share some logic so I need to encapsulate this logic in a single extension method either in a C# dll or a CQLinq query and reuse it anywhere.6 votes -
Flag commented-out code.
Using SonarQube, I see that they have a rule for flagging code that has been commented-out. Does this exist in NDepend, or could it be added?
5 votes -
Add support for dependency cycles detection for the code using dependency injection
Currently if code is made using dependency injection NDepend fails to detect cyclic dependencies. Sample code:
public interface Interface1 { void Foo(); }; public interface Interface2 { void Bar(); }; public class MyClass1 : Interface1 { private Interface2 _interface2; public MyClass1(Interface2 interface2) { _interface2 = interface2; _interface2.Bar(); } void Interface1.Foo() { } } public class MyClass2 : Interface2 { private Interface1 _interface1; public MyClass2(Interface1 interface1) { _interface1 = interface1; _interface1.Foo(); } public void Bar() { } }
5 votes -
Lets group boxes in the graph
Lets group boxes in the graph and and sub-graph in boxes.
5 votesWith NDepend v2020.1 dependency graph has been completely rebuilt and it is now possible to group code elements by Cluster, Project, Namespace or Type.
https://www.ndepend.com/whatsnew -
Present Data through a Web Server
Provide an OSS web server that could be developed with NDepend.API to present data through an interactive web site.
5 votes -
Add Color to the Treemap Metric Panel
Add Color to the Treemap Metric Panel to be able to observe a second metric on the treemap.
4 votes -
Basic support for managed C++
I stumbled upon that properties in the API do not work correctly with managed C++ projects. For example IAssembly.VisualStudioProjectFilePath always returns null in case of a vcxproj or ISourceFile.Language always returns SourceFileLanguage.Other.
This is not about full support for managed C++ but basic things like the ones above would be great if they work when working in a heterogenous environment.4 votes -
Select N+1 - Database Code within a loop
I'd like to query for instances of the Select N+1 problem. Where database code is happening within a loop resulting in 'N' database queries for each iteration of the loop where one or two well-designed queries would do.
This could be implemented by searching for any method calls to a sub-typer of IRepository<T> or Repository<T> that occurs within a for, foreach or Enumerable loop.
4 votes -
Improve UI/UX bigger errors - i.e. reduce huge font on Dependency Graph
Hi Patrick,
the Font of the text in the Dependency Graph are extremely different in size.The bigger are huge and the other so tiny to be unreadable.
This makes the graph much less usable
https://i.imgur.com/d5GUtby.pngMy suggestion, use the font maximum size to 16px and minimum size to 7 px and use all the available space.
4 votes -
TODO / priority management with tags / groups
In a program and project, we might need to focus on certain aspects of the project, and postpone certains problems (or tag them as priority/under consideration/for further release).
The idea would be to create tags (like bags) to put rules / types / namespaces / functions to group or remove from a group one or several of these elements.
In that case, the project manager and the team can focus on the objectives, while keeping an eye on the overall objectives, for another timeframe. This would lead to multiple dashboards (on per tag for instance).
THis is part of project…
4 votes -
Provide dependency graph for refactoring planning
I would like to see another kind of dependency graph. It should be more like a map where dependencies flow from top to bottom or right to left. The difference is, that you can drill down from assemblies, to namespaces, to classes, to methods. All of this within one view.
For example: First I see a dependency graph containing all namespaces. When I click on namespace A, it shows me that this has dependencies to namespace B and C. Now I unwrap namespace B and see all classes and all dependencies from A to the classes, instead of the single…
4 votes -
Match CQLinq code editing behavior with VS's
I would like to see a match CQLinq code edit behavior with VS's one.
eg., select multiple lines, then 'tab' and 'shift+tab' would shift +/-1 tab those lines.
eg., caret not selecting anything but put on line x, then 'ctrl+c' 'ctrl+v' 'ctrl+d' would copy the entire line (with \r\n included), paste the entire line, duplicate the entireline
eg., double click one word would show all usages of this word4 votes -
Add integration and documentation for AWS CodeBuild
AWS CodeBuild is our go-to solution for building and testing DotNet Core solutions. This would be similar to Appveyor, but benefit from inheriting the IAM security model and S3 storage of artifacts. CodeBuild also recently added Reports which provide a way to track test metrics over time. Seems like a perfect fit.
3 votes -
Behavior of mouse wheel within Dependency Matrix - Scrolling vs Zooming
It should be possible to change the behavior of the mouse wheel for the Dependency Matrix.
Most of the time I want to scroll with the mouse wheel. For zooming could a Key+Mouse wheel used (e.g. Control+Mouse wheel).
3 votes -
VSTS Plugin Dashboard should allow full screen view
The VSTS/DevOps plugin dashboard view on my laptop is really small with large lists.
It would really help if you provided a full-screen mode for portions of the reports like VSTS/DevOps does on other parts of the system.
For example, if I look at the Issues/Debt screen, and select "Critical Issues" on the left for example, the list can be quite long, but I can only see 10 items at a time with my laptop.
Not to mention that above that content there are two big divs that are probably wasting space.
One that says "Double click an issue to…
3 votes -
There should be a specific type of rules which lead to error in developement time
We need to define a set of dependency rules which violating them generates error at development time, local visual studio build, and build server.
3 votes -
Duplicated code
Would be perfect if we could have metrics regarding duplicated code.
We could use it to then create rules and issues regarding the increase of duplicated code and also count it as technical debt.
3 votes
- Don't see your idea?