The way to name stuff in Xojo

I mean: the way Xojo (the company) name the Xojo stuff (language).

Examples:
ParseJSON
GenerateJSON
InvalidJSONException

What the hell ?

In the IDE, if I type Parse, I will get the choice between ParseDate, ParseJSON, etc.

On the other hand (literally), if JSON was used as Prefix, I would get a far better list of choice.

You want to make things simple for the Newbies ?

This way can be better, maybe.

PS: that is the way I name objects in my interface (Date_Start and Date_End are two example I use often). And after checking, it seems that is the way it is done before 2019r2.

BTW: is this is the way API 2 works ? And so what… A simple Property set at project creation time and Xojo assume code is API 1 or API 2 …
Scrap a good idea because another was implemented strangely ?

agree the naming is not nice (and annoying in auto complete) as example in listbox
AddRow
RemoveRowAt
RemoveAllRows
RowTagAt
Rows
Sort

should be
.Rows.Add
.Rows.Find
.Rows(0).Tag =
.Rows.Remove
.Rows.RemoveAll
.Rows.Sort

and because the name listbox and not rowbox
.List.Sort
.List.Clear

[quote=472748:@Markus Rauch]agree the naming is not nice (and annoying in auto complete) as example in listbox
AddRow
RemoveRowAt
RemoveAllRows
RowTagAt
Rows
Sort

should be
.Rows.Add
.Rows.Find
.Rows(0).Tag =
.Rows.Remove
.Rows.RemoveAll
.Rows.Sort

and because the name listbox and not rowbox
.List.Sort
.List.Clear[/quote]

No namespacing again, please.

Better:
RowRemoveAt
RowAt
RowTagAt
RowSort
RowsRemoveAll

Something like that. There seems to be also the issue of having different types of exceptions:
Some return RuntimeException ? That should never be the case.
Some return like JSONITem; invaldArgumentException and InvalidJsonException why not just JSONException? Not sure why it has to be such a spagetti.

I agree with @Emile

[quote=472750:@Derk Jochems]Better:
RowRemoveAt
RowAt
RowTagAt
RowSort
RowsRemoveAll[/quote]

its bad at coding because the methods are in the wrong hierarchy and result in long names.
the auto complete is always out of context and show everything.

Don’t worry, Xojo will never change it.

When designing a language, functions and methods names are grouped in opposite ways to make it easier to find the desired options in autocomplete. Functions usually are better described as NounVerb, and methods VerbNoun (a noun in a method is optional, but some designers prefer this tautological way to make it clearer when reading the final result under certain contexts as x.Clear() vs x.ClearString() <>). So we have things like: StringExplode(“abc”), and String.Explode(“abc”), or s.ExplodeString(“abc”) << function: StringExplode(); methods: Explode() or ExplodeString() >> all well designed. But function ExplodeString(), and method String.StringExplode() are not.

Don’t worry, any inconsistencies you guys find, API 3.0 will fix. :smiley:

3.1 _/\__/\__0>