Hi Fausto, here's what has worked well for me on large flows:
Prefix by scope: keep the scope visible in the name, like Flow.customerId, Task.validatedId, State.apiResponse, so you always know where a value lives.
One casing style: camelCase everywhere, with a short type hint only where it helps (boolIsAfterHours, strCustomerName). Avoid abbreviations unless everyone knows them.
Declare inputs and outputs first: keep inputs/outputs at the flow level and put temporary variables inside the task that uses them. Fewer shared variables means fewer side effects.
Name flows the same way: Division_Channel_Type_Description, with an environment tag like [PRD]/[HML] if you test in the same org.
Document the standard: put a one-page convention in a shared place and review new flows against it.
The rule I use is that the next person who opens the flow should understand what was built and why without asking you. Curious what others do for session-level data.
------------------------------
Robson
Coordenador de Infraestrutura
------------------------------