In my experience, key is to keep the code as small and simple as possible, that way there is less that might need changing in the future.