Explicando variables
Su caso es un ejemplo de la introducir la variable explicativa . En resumen, una variable explicativa es una que no es estrictamente necesaria, pero le permite dar un nombre claro a algo, con el objetivo de aumentar la legibilidad.
El código de buena calidad comunica intención al lector; y como desarrollador profesional, la legibilidad y la capacidad de mantenimiento son sus objetivos principales.
Como tal, la regla de oro que recomendaría es esta: si el propósito de su parámetro no es obvio de inmediato, no dude en usar una variable para darle un buen nombre. Creo que este es un Buenas prácticas en general (salvo abuso). Aquí hay un ejemplo rápido, artificial: considere:
editButton.Enabled = (_grid.SelectedRow != null && ((Person)_grid.SelectedRow).Status == PersonStatus.Active);
frente a un poco más largo, pero posiblemente más claro:
bool personIsSelected = (_grid.SelectedRow != null);
bool selectedPersonIsEditable = (personIsSelected && ((Person)_grid.SelectedRow).Status == PersonStatus.Active)
editButton.Enabled = (personIsSelected && selectedPersonIsEditable);
Parámetros booleanos
Su ejemplo realmente resalta por qué booleans en API son a menudo una mala idea - en el lado de la llamada, no hacen nada para explicar lo que está sucediendo. Considera:
ParseFolder(true, false);
Tendrías que buscar lo que significan esos parámetros; si fueran enumerados, sería mucho más claro:
ParseFolder(ParseBehaviour.Recursive, CompatibilityOption.Strict);
Editar:
Se agregaron encabezados y se cambió el orden de los dos párrafos principales, porque demasiadas personas se estaban enfocando en la parte de parámetros booleanos (para ser justos, era el primer párrafo originalmente). También agregó un ejemplo a la primera parte.