-
Notifications
You must be signed in to change notification settings - Fork 33
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Extensive use of dart extensions #92
Comments
Hey @rfuerst87, Thanks for sharing your concerns regarding the architecture design. The Rollbar SDK is a relatively new addition to our portfolio hence the unorthodox solutions. We highly appreciate every user feedback, so I'll bring this back to the devs. I'll get back to you whenever I have an update. |
Hey @rfuerst87, do you think you could elaborate a bit on what you're seeing, maybe offer an example, and how would you approach it? Are you referring to
|
Sorry for my late reply here. Rollbar is not really in my focus these days. However you might wan't to tackle this anyway. The frist two examples you linked use extensions as intended. They extend functionality of classes Rollbar doesn't control. Such as When I brought up this issue I had cases in mind such as:
Please take this "complaint" with a grain of salt. There might be good reason you defined your classes and extensions like you did and this is fine. I don't have the knowlegde you have when you built this thing, and a lot of design desicions reflect personal preferences. To boil down my issue to one sentence: I have the impressions this library uses extensions for the sake of using extensions, which hurts readability and long-term maintainability. |
@rfuerst87 No worries. Thanks for taking the time and sharing your thoughts, I appreciate your help :) |
While debugging #91 I noticed the extensive use of dart extensions all over the code base. May I ask what the intention behind this design decision is?
As far as I can see I noticed the following pattern:
In my opinion all this diminishes readability of the code. Why not use proper interface definitions and plain old methods instead?
Thanks for a quick feedback!
The text was updated successfully, but these errors were encountered: