Marco Russo and Alberto Ferrari provide some advice:
DAX code is often short. Understanding the question that the code must answer may be much harder.
Consider a calculation that multiplies a quantity by a rate. The formula appears simple, yet it is correct only if the quantity and the rate are evaluated while the rate has a clear meaning. If you perform the calculation after combining different rates, DAX must aggregate the rates somehow: AVERAGE, MIN, or MAX can return a number. However, returning a number does not make that number meaningful.
Read the whole thing.