Blender allows datablock names to include spaces, even for object datablocks. This has made a lot of people very angry and been widely regarded as a bad move.[citation needed]
---
Many other 3D applications do not allow spaces in object names, and when you try to import an object with spaces in its name, they will occasionally error out or populate the space with some annoyingly long string like "FBX3200". When naming objects in other 3D apps, they will usually replace spaces you type in object names with another character. This saves a lot of time typing object names, because the space bar is a lot easier to hit than the underscore key. Blender doesn't do this because for horrifying reasons it actually allows you to have spaces in object names.
Blender also has separate names for object and shape datablocks, but does nothing to keep these names in sync. This is also kinda annoying, because your otherwise well-named objects have a bunch of datablocks named cube.008 under them. If you need to find a particular shape datablock, to, for example, relink an object to some other instance, well, good luck.
Name Fixer is a simple addon that will fix those problems. It loops over all selected objects and does two things:
1) It replaces all the spaces in the object names with underscores
2) It changes the shape datablock name to "_shape"
So if you have an object called "reactor core brace L" with a shape data called "Cube.015", Name Fixer will change those to "reactor_core_brace_L" and "reactor_core_brace_L_shape", respectively.
Now you can have neatly organized object names with a bare minimum of effort!
Installation
To Install, simply download the name_fixer.py folder, go to the Addons manager in Blender, select "Install", and choose the name_fixer.py file. It will appear in the N-panel sidebar under "items". It will make a big "Clean Up Object Names" button, select the objects you want to rename and click the button to rename them.