The question is wrong, there is no common rule for everything.
If, on the other hand, you are only talking about code to be executed between [ ], it doesn't matter if you put them there or not.
If you look at my scripts (except in cases that I need to layout the code so it can be read better) I never use them.
[:osfunction parameter]
[/call this function]
[contextfunction parameter]
[$userdefinedfunction parameter]
On other places, you never must put spaces, like on
literally "-1"
do={
else={
etc.
Right now I can't come up with examples of where it necessarily takes space (ignoring RegEx)
Just
3 + -2 ; # (for obtain 1)
not
3+-2 ; # (for obtain 1)
# it work but readabiliy...
# tis do not work at all, give -1 instad of -3
3/ -1