Skip to content
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

Need to rename TlcEnvironment #541

Closed
eerhardt opened this issue Jul 16, 2018 · 6 comments
Closed

Need to rename TlcEnvironment #541

eerhardt opened this issue Jul 16, 2018 · 6 comments

Comments

@eerhardt
Copy link
Member

Our only public, concrete environment class is named "TlcEnvironment", which uses the internal "TLC" acronym/name and has no meaning anymore.

We should come up with a better name for our default environment class.

/cc @ericstj @TomFinley

@Ivanidzo4ka
Copy link
Contributor

ConsoleEnvironment?
Since by default it output everything to console.
Should we also create XUnit environment to properly handle xunit output?

@ericstj
Copy link
Member

ericstj commented Jul 16, 2018

ConsoleEnvironment

I had a similar thought, but then I started looking at this and found it does a lot more than just logging which made it hard for me to name its purpose.

I seem to remember some discussions before about how we might want to eliminate the environment abstraction completely, is that still an option? I see it exposes stuff like cancellation that seems to only be partially implemented (cancellation tokens instead?), random number generation (System.Random?) and temporary files (can't it just be a utility?) etc etc. Some of this stuff might still be useful for testing, but right now this abstraction is front and center in the samples and all over the APIs: seems like the wrong tradeoff to put this complexity on all callers just to facilitate the small set of folks who might want to provide a different environment.

@shauheen
Copy link
Contributor

I somewhat disagree with the "Need" to rename this, but perhaps the only option that I can think of is MlEnvironment.

@eerhardt
Copy link
Member Author

I somewhat disagree with the "Need" to rename this

Once you ship an API (especially one that is core to every scenario, like the environment class is setting itself up to be), you can never remove, rename, change it. You can only made additional, non-breaking changes.

So in a few years, if all our examples have new TlcEnvironment() in them, it would seem every new developer is going to ask "What does TLC mean?", and then we have to tell them a story. It will be a distraction, and a pain to document.

@Zruty0
Copy link
Contributor

Zruty0 commented Aug 6, 2018

Some more proposals that were floated are 'LocalEnvironment', 'LocalConsoleEnvironment', 'Environment' and 'MlContext'.

@eerhardt
Copy link
Member Author

Fixed by #923

@ghost ghost locked as resolved and limited conversation to collaborators Mar 29, 2022
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
None yet
Projects
None yet
Development

No branches or pull requests

5 participants