Open adecler opened 3 years ago
I want to say no. I don't have a very good reason right at this moment in time but no feels like the right choice. It's a gut feeling.
Nested lists can get complex quite quickly, List<List<T>>
provides enough use for 99.99999% of the methods based on your analysis @adecler so I would be tempted to go with us resolving the outlier, as that is evidence to suggest that by default, no one developing for the BHoM over the years has ever desired to do deeper levels of list nesting.
As such, I'm inclined to agree that we should not support structures deeper than 2 levels as we currently do, and the aforementioned offending method should be refactored.
That's my feeling on it, but I also do not have knowledge of that particular method to provide a clear answer for why it was done, so happy to have my mind changed with more information :smile:
Right now we have a single method in the BHoM that return a data structure of depth 3 (i.e.
List<List<List<>>>
):There are no methods that take inputs deeper than level 2.
It feels to me that any method that requires inputs/outputs deeper than level 2 is a red-flag for refactoring. In a way this is no different than a Grasshopper script that requires complex data tree structures to work. As always, I can be wrong as I don't know the context of this method.
So my question is: should we refactor
DistributeOutlines
or should be provide support for deep data structures in the UI ?