No se trata de quitar libertad al programador, sino de definir algunas convenciones que todo el equipo conozca (y siga) para evitar que el mantenimiento del código sea una pesadilla.
Este documento no tiene que ser largo y tedioso, un ejemplo de reglas claras, concisas y sencillas son estas que utilizan en zepto.js:
- function name() { } para funciones con nombre.
- function(){ } para funciones anónimas.
- No utilizar llaves para sentencias de control de una sola línea, como if y sus amigos.
- No utilizar punto y coma cuando es opcional.
- Escribe un único punto y coma antes de las instrucciones que empiecen con ( o [.
- Utiliza nombres largos y descriptivos para variables y métodos.
- Utiliza líneas en blanco para separar "párrafos" de código para hacerlo más legible.
- Utiliza comentarios para describir comportamientos no-obvios en tu código.
Obviamente no tienes porqué estar de acuerdo con estas reglas concretas, pero es un ejemplo magnífico de cómo definirlas.