Closed Lucasharskamp closed 3 weeks ago
@Lucasharskamp Thank you for the PR and for your time. I'll review this tomorrow.
@Lucasharskamp Thank you for the PR and for your time. I'll review this tomorrow.
Alright, I'll look forward to hear from you
@Lucasharskamp Thank you very much for your detailed feedback, PR (including XML comments) and future contributions details.
https://github.com/vikramlearning/blazorbootstrap/tree/main/BlazorBootstrap.Demo.RCL/Components/Pages/Charts
.
These examples will be helpful to others.Can you provide a code sample, screenshot, or recording for better understanding?
In the original, the following code:
creates this:
instead of this:
These examples will be helpful to others.
No need. This isn't something that affects features, it's a simple bugfix for spacing issues.
I've got another PR ready to go after this one which overhauls a lot of coding issues
(methods that should be static, tasks not passed properly through the callstack, nullability issues, loads of added XML commenting, requested datatypes always going to IReadOnlyCollection<T>
if it's read-only anyways, etc)
These changes do not alter the way users use the library, with one exception: IEnumerable<T>
isn't allowed anymore for data collection input to prevent multiple-iteration-issues, but those are easily rectifiedable
@gvreddy04 can you please handle my 2 PR's? I got more coming up, namely a Bootstrap css generator (so we don't have to suffer the indignities of node.js anymore with scss or creating manual overrides for colors and styling)
axes -> border
axes -> grid
axes -> title
axes -> ticks (-> major)
plugins -> legend
plugins -> legend -> label
plugins -> legend -> title
List<T>
; this is wrong, because the code can work with any collapsed stack since the data is only read, not modified. This putsIEnumerable<T>
out of the question (because of multiple iteration issues that can go haywire), butIReadOnlyCollection<T>
gives the programmer more options to work with, e.g. providing an array,List<T>
,ImmutableList<T>
,ArraySegment<T>
,FrozenSet<T>
,HashSet<T>
,SortedSet<T>
,Stack<T>
, etc etc etc. So at the very least, this prevents the user from applying a redundantToList()
that only steals performance/memory anyways. Blazor Bootstrap doesn't modify the list anyways, only reads it. And whereasIEnumerable<T>
is easily out of control, this happens far less withIReadOnlyCollection<T>
and would require dedication on the part of the programmer to get that to happen.<see cref="https..." />
, but it must usehref=
<see langword="..." />
helps provide proper markup for code. As an example, I've replaced "if true, then" with the langword on property summaries.(These QOL improvements in the summary documentations are very useful for AI coding tools like Copilot, since that gives the AI better directions when generating code for the user)
Notes about Blazorboostrap I want to tackle later
Records
is better? They're readonly anyways.INumber<TSelf>
using macros in code to separate it from .NET 6 usage. Also allows one to use C#11 for .NET 7/8.StateHasChanged
invocation, which is fine for .NET 6 but not for 7/8. Macros will fix this.