Software Design/Call function's return variable "result"

Checklist questions:

  • Function's result variable is called result?
  • Function's result variable name starts with result-?

When there is a variable called result (or res, r, etc.) in a function, it's harder to make a mistake by accidentally returning a wrong variable because it's expected that the return statement will look like return result.

When this practice is a convention in a codebase which is followed consistently, always naming the result variable result becomes a form of structure in the code. Readers can grasp functions' logic quicker by recognizing appearances of result in the code. This convention is used by Martin Fowler.[1]

Why not

edit

As described in practice Avoid a variable called "result", naming the return variable result is a missed opportunity to attach semantic information to the variable. In relatively longer functions, readers may need to deduce or to return to the function's declaration and the documentation to recall what is returned from the function. Thus, a return variable called result makes the code of the function less obvious and makes readers navigate more.

Combining the approaches

edit

A compromise solution is to call functions' result variables resultSemanticName, for example, resultDiscountDecimal in getDiscountPlatinumLoyalityForAccessories() function in the opposite practice.

edit

References

edit
  1. Refactoring: Improving the Design of Existing Code (2 ed.). 2018. ISBN 978-0134757599. https://martinfowler.com/books/refactoring.html.