One file per logical unit. Namespaces. Non-static data member initializers to never get an uninitialized field again.