I also try to do always, then inhibit, then ignore cases that don't apply.
Minimize if statements to have consistent execution.
If a function is called from one place I will inline it. From multiple places I will try to see if I can have it happen in one place so I can inline it (plus it's an optimization thing). For complex calculations if I can't have it happen once I will try to cache it, but cache invalidation can get tricky, so I always opt for do it once.
Finally I try to write pure functions, look at parameters and return one or more computed value.
What programming languages are we talking about here?