Explicando variáveis
Seu caso é um exemplo da introdução que explica a refatoração de variáveis . Em resumo, uma variável explicativa é aquela que não é estritamente necessária, mas permite que você dê um nome claro a algo, com o objetivo de aumentar a legibilidade.
Código de boa qualidade comunica intenção ao leitor; e como desenvolvedor profissional, a legibilidade e a manutenção são seus objetivos nº 1.
Como tal, a regra geral que eu recomendaria é esta: se o objetivo do seu parâmetro não for imediatamente óbvio, fique à vontade para usar uma variável para lhe dar um bom nome. Eu acho que essa é uma boa prática em geral (a menos que seja abusada). Aqui está um exemplo rápido e artificial - considere:
editButton.Enabled = (_grid.SelectedRow != null && ((Person)_grid.SelectedRow).Status == PersonStatus.Active);
versus o pouco mais longo, mas sem dúvida mais claro:
bool personIsSelected = (_grid.SelectedRow != null);
bool selectedPersonIsEditable = (personIsSelected && ((Person)_grid.SelectedRow).Status == PersonStatus.Active)
editButton.Enabled = (personIsSelected && selectedPersonIsEditable);
Parâmetros booleanos
Seu exemplo, na verdade, destaca por que os booleanos nas APIs geralmente são uma má idéia - do lado da chamada, eles não fazem nada para explicar o que está acontecendo. Considerar:
ParseFolder(true, false);
Você teria que procurar o que esses parâmetros significam; se fossem enums, seria muito mais claro:
ParseFolder(ParseBehaviour.Recursive, CompatibilityOption.Strict);
Editar:
Adicionamos títulos e trocamos a ordem dos dois parágrafos principais, porque muitas pessoas estavam se concentrando na parte dos parâmetros booleanos (para ser justo, era o primeiro parágrafo originalmente). Também foi adicionado um exemplo à primeira parte.