Names are also a good way to determine how to draw boundaries between data, between code, etc. If you can give something a concise, descriptive, and intuitive name you can usually pull it out into its own function, type, etc. and it will _improve_ readability, since the name adds information and abstracts the implementation well. Names are also a good heuristic for whether your abstractions and boundaries are good. If they require verbose, misleading, or unintuitive names you may need to redraw those boundaries and abstractions.
Good points, also I’ve just almost completely let AI handle this. I don’t use it to write code for me yet but I will be lazy and ask it this prompt, “what should I name this variable (or function) that describes this or does this?”
Totally agree. Hardware engineers especially need to learn this. They can't stand using clear variable names; everything needs to be abbreviated to death. No_vwls_allwd.