Additional note:
every ship class in every navy was a project name or number, until the first ship was ordered/laid down/launched (depending on the navy in question). The USA navy in particular would name the class when the first ship was ordered, then sometimes re-name the class if a different ship was launched first. Or commissioned first. Or some other reason: ship names and class names in the USN have been steeped in politics since it was called the Continental Navy. So all bets were off if naming a new ship/class after a particular individual or city or state would result in the navy getting more money that year.
You might not like it, but the hull number designation (until you actually rename the class yourself) is actually more accurate. But you don't need to be any kind of historian to fix it, here's a quick guide to restoring class names in your production list (Open the spoilers for the screenshots):
To start with, I'll produce an historical "Porpoise" class submarine for the US navy:
But when I upgrade the torpedoes a bit (green circles), this happens to the class name (red circle):
However, open up the ship names pop-up menu (currently set to "Historical Submarines"), and hover your pointer over "Historical Submarines" in the list. It shows a list of historical submarine names from the US navy. The last one in use (USS Tarpon, circled in red) is grayed out, but the next (USS Perch, underlined in green) and all subsequent names are in plain text.
Finally, edit the text field for the class name to match the next in line from the historical list, and you're done!
This adds maybe a minute or two to the ship design process overall once you've used it a bit. You can even use this method to keep track of minor upgrades: add radar and AA to your existing carrier design, and name the finished design something like "Improved Shokaku Class" or "Graf Zeppelin+ Class." Makes it easier to track the changes in your existing ships.