Phase out the ability to rename services

It’s possible to do something like rename game.Players to game.Plrs because services are able to be renamed. This is awful practice. There’s no compelling reason to rename services other than “I think it looks better named this way” – this is akin to something as bad as renaming methods/properties, and for what? Because the programmer was too lazy to create a variable referencing the service that they can name whatever they want?

The ability to rename services just adds another thing developers have to plan for when creating public scripts, and has caused problems in even the animation editor and corescripts, multiple times. Renaming services is only beneficial for a misunderstanding of development, and its tradeoff, as listed above, is certainly not worth it. The ability to rename services should be phased out in more or less the following phases:

###Announcement of upcoming change
Gives developers time to update their game / get into better habits

###Disable ability to modify service names through explorer
Prevents new users from getting in the bad habit of changing service names, while still allowing developers who haven’t finished first phase to continue via command line

###Disable ability to modify service names through Lua
In large part, this should stop renaming of services. However, developers who are still dragging their feet with changing habits / updating their game can still modify .rbxlx XML to change service names if need be. The pain of renaming services at this point should hopefully encourage them to change.

###Force correct service names on publish
Developers can no longer rename services, as publishing the place corrects any modified service names. Since this is done on publish, old games that are no longer maintained continue working, but anyone still maintaining their game will be forced to update it properly.

In the last two stages, developers making third-party scripts should no longer have to worry about supporting service name changes, and this awful practice will have been stomped out. Of course, ROBLOX may still want to support arbitrary service names in the corescripts for a few years after this to maintain functionality of places no longer being updated.

19 Likes

The ability to rename services just adds another thing developers have to plan for when creating public scripts,

You should be using game:GetService regardless. I don’t get the point of disabling ability to rename services, I feel like there are other features and changes that should have higher priority. Let people code how they like, they’ll fall in line if they haven’t already in this particular context.

4 Likes

I don’t see a compelling reason why this should be enforced.
Nobody should be using services in a way that depends on their name.

1 Like

I rename some services to something short so that stack traces are less long and don’t cut off. You should always use GetService