As so many things in TW it will be a “convention”. Currently, we use a tf. prefix for global functions, which will be reserved for the TW core.
Using tf. t-f-dot over t-f-hyphen, has the advantage that functions can be used directly as tf.my-function[] in filter expressions, without the need to use the function[tf-my-function] operator.
The naming schema is similar to tc-, tm- for TW class and message prefixes …
So the f. prefix is free for users. So I personally will use f.functionName for my own functions, that are not part of wikilabs plugins.
For wikilabs plugins I will probably use wltf. or wlf. prefix for global functions as I use wltc- for class names.
Currently while refactoring core wikitext syntax, there was no need to create new prefixes for procedures or widgets.
If it has a $-prefix eg: $something it is a widget. So no need for special naming, except in libraries, where it depends on the usecase.
If it has no prefix, it is a procedure or a macro. Where macros are deprecated, and will be removed over time from the core, while keeping the name and parameter signatures compatible.
There is an other unofficial naming convention. Eg: _something. Variable names, that start with an underline, is meant to be used local only and should not be modified or relied on externally.
Locally used variables, even if they have a global scope, will be changed in incompatible ways, without warning.
Just my thoughts
Mario