As a counterpoint, there are very good engineering reasons for standardized code layout and enforcing const correctness.
They are there to optimize the use of the mental energy of the programmer.
Const correctness makes it much easier to read and reason code someone else has written. Or myself, months from now on.
Standardized code layout should be strict enough that you can identify scope at a glance when browsing through a 10 MLOC engineering CAD application and hunting for that one bug or strange call path.
But - these are necessary features for _production_ code. For _prototyping_ code you should optimize for maximal mutation rate and not necessarily legibility rate. Although the code should not be garbage (if you can't read it it's kinda worthless) strict conventions often hinder fast iteration and you should really figure out which ones are necessary constraints for the problem at hand and which are not.
Comments
As a counterpoint, there are very good engineering reasons for standardized code layout and enforcing const correctness.
They are there to optimize the use of the mental energy of the programmer.
Const correctness makes it much easier to read and reason code someone else has written. Or myself, months from now on.
Standardized code layout should be strict enough that you can identify scope at a glance when browsing through a 10 MLOC engineering CAD application and hunting for that one bug or strange call path.
But - these are necessary features for _production_ code. For _prototyping_ code you should optimize for maximal mutation rate and not necessarily legibility rate. Although the code should not be garbage (if you can't read it it's kinda worthless) strict conventions often hinder fast iteration and you should really figure out which ones are necessary constraints for the problem at hand and which are not.