In a module (file) I organize several functions related to a specific domain task. I usually put the function linearly from top to bottom, then compose a functional call on the bottom. Doing so I can easily follow the flow on what's happening.
But when I put in a reusable function, it 'breaks' the pure flow as several functions need to call that same reusable function. How to best organize reusable (hoisted) functions ?
Do you use any visual separation from the regular function of the linear flow of operations ? Do you hoist them on the bottom ? Do you declare them on top of the file ? Do you use a special distinction in their name to differentiate them for non reusable, linear function that are part of the flow of operations ? Are there any best practice for this ?