Keep it simple - simpler building forms will be easier to weatherproof than complex ones. Minimising the amount of material changes, complex junctions, joins and flashings will also make the house easier to make weathertight.
Simple roof forms are cheaper to build, and because of their lack of complexity, provide fewer opportunities for things to go wrong in the future. Inversely, complex roofs require skilled designing and building to work.
Protect from the weather – the easiest way to keep the water out is to stop it from getting in. Eaves are a simple and effective way of protecting the walls and roof junctions. When combined with appropriate window placement, they also provide shade and protect the inside of the house from overheating.
Choose materials so that the outside of the building is easy to maintain. Some cladding systems rely on more onerous and potentially costly maintenance regimes to ensure they stay weathertight. A cladding system that is easy to maintain will look better over time, do a better job of protecting the house, and cost less.