-
Notifications
You must be signed in to change notification settings - Fork 10
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
Clean up Confirm abstraction #19
Comments
I'll address a few of these here. I also opened a chat at https://gitter.im/jonsequitur/Its.Log for more open-ended design discussion because I think a lot of these questions will require some dialog and digestion before being actionable. Another thing that might be useful is example code for interface change suggestions. Its.Log has been around for over 5 years with no compatibility breaking changes, and sometimes it shows its age, but I'm happy to start sketching a v2 that incorporates new use cases and language features. Item 1. In general, Item 3. Not sure I see the deadlock concern, or at least where it might occur inside Its.Log's boundaries. The dirty reads issue is interesting because it's actually part of the intent of the design (again for terseness) to be able to capture changing state via closures, e.g. the following allows me to write out the state of an instance twice:
Also, the expectation is that these buffers are very short-lived. Item 4. The emitted Item i. This is a historical implementation detail. Certain information has to be shared across log entries emitted by the Item ii. Fixed: 93a390a Item iii: Once a Item iv: This class can potentially be made public, allowing this setting to be changed. I'd also be fine with making this setting higher and letting the exit entry grow as a result if someone wants to call |
Thanks for your thoughtful reply. I am starting to get a feel for your thought process on things. |
Item 1. RE: But I don't think that terseness should be at the expense of type safety and clear interface semantics. Coercing null to true is not a clear type signature. Basically, this: I think you also responded to Item 2 in Item 1, so: The idea of Trace emitting iteratively and incrementally vs. Confirm holding a buffer makes sense. I plan to take this discussion in a different direction on gitter, though - I think its clear this doesn't make sense in the current version of Its.Log and would be more for planning future features. I'll get around to discussing this after my work's sprint closes - we have 13 customers going live in the next 2 months. |
[Edit: Digging deeper, I see that private void StartTiming() is what actually controls the stop watch. (I am not sure why this is necessary?)]
I think you are probably already on this thought pattern already - I see the comment "// TODO: (LogActivity) generalize extensions that are triggered on boundary enter" which suggests each extension basically has an AOP cut-point that you can weave "advice" extensions into.
This final list falls under "dealing with multiple Confirmed entries and flushing multiple entries in thread-safe ways".
The text was updated successfully, but these errors were encountered: