A few recommendations from Rimvydas Jasinskas
Try to avoid these:
- identically named different variables in different modules
- explicit kinds (except where needed for I/O or computationally sensitive algorithms)
- tab and non ASCII characters (specially in namelists)
- pointer like structures in structures (compiler bugs, very hard to debug).