-
Notifications
You must be signed in to change notification settings - Fork 82
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
Add better alternative names for certain custom Cottle functions #2147
Comments
Maybe just call it “Pronounce”? |
I considered a few options. Naming things well is a bit of a difficult art.
Keep the thoughts coming! |
'GamePronounce()' ? |
I thought maybe TryPronouncing() or PronounceBetter(), but how about Enunciate()? Or would that be too obscure? |
Ooh, here's a thought, inspired by the optional second argument:
... etc
I think I like this one. |
I chose So |
Yes, I am liking |
Perhaps |
The more I think about it, the more I think that the second, optional, argument should be recognized in the function's name. |
Will having multiple command names for the same action potentially make commands more confusing and more difficult to learn? |
I don't see why if we cleanly document along these lines:
|
I was aiming for active verbs as I find them more intuitive in a scripting context. |
People forget that we even have a Help file documenting these functions. 😉 |
The way I see it it’s only optional for backwards compatibility anyway. |
I believe Richard was referring to the 'context' part of
I think that's how this whole thing started, with a question on the forum that could have easily been answered by looking in the help file. 😉 Personally, I prefer the shorter command names. I feel that the longer ones take up too much space in a script and make it a little more difficult to read. In this case, where some scripts have a few P() all close together, this will look like a 'wall-of-text'. I feel keeping it short is more user-friendly, especially for new users. I'm reminded of the old computer adage of keeping things simple. :) |
Here's the thing: there are two kinds of people: (a) those who will inhale any and all documentation available and (b) those who won't read it even it is shoved right under their noses with bright red flashing lights. Devs are by nature always of type (a) and simply do not grok the type (b) people, but watch any Let's Play of a tutorial level to gasp in horror as they almost reflexively dismiss anything that requires stopping to read the effing text. That's why I've learned that an ounce of improved naming far outweighs a ton of documentation. And let's face it, the names |
Honestly, I believe that type (b) often don't use EDDI's speech responder at all. They're more likely to disable all or most of the speech responder and to use EDDI to create commands for VoiceAttack. Speaking honestly again, it took me a while using EDDI before I found the documentation under When a user creates a copy of the default personality for the first time, we could pop up a message box giving people an option to watch a video tutorial explaining how to use the speech responder and where to find useful information within the UI. Thoughts? |
If you're prepared to create such a video tutorial, sure. I for my part am not. I merely suggested adding better names for four badly-named functions: a very simple fix for a very obvious problem. I am not sure what is debatable about it. |
What happens now
The Cottle functions
F()
,Humanise()
,P()
andSpacialise()
are unintuitively named and we are constantly asked what they do.What I'd like to happen
Keep the existing names for backwards compatibility but add the following (suggested) aliases as the preferred form going forward:
F()
->InvokeScript()
Humanise()
->Approximate()
P()
->FixPronunciation()
(not entirely sure about this name)P()
->PronounceForContext(text, [context])
(liking this much more)Spacialise()
->SpellOut()
How it can happen
I think this is a rare case where I would favour duplicating the very short implementation stubs in
EddiSpeechResponder.CustomFunctions
over evolving the underlying mechanism to support alternative names, but am open to persuasion.Edit: this would also allow for separate documentation of the new and old names, allowing us to document the old names as deprecated.
EDDI Version
3.7.2
The text was updated successfully, but these errors were encountered: