show/hide this revision's text 1 [made Community Wiki]

As in other answers and comments: context usually suffices to explain that $p$ is a prime, whether in the rational integers or whatever. That is, when possible, no notation at all is clearer (and less bulky and visually noisy) than any possible notation.

Similarly, as I was slow to learn, objects' notations need not make explicit reference to every parameter upon which they depend: context should make most of it clear, and, if context is failing to do so, then it may be as much a complaint about the author's setting of context as anything else.

Also, as in other comments and answers, committing succinct single-letter labels for global variables is often wasteful.

Also, as computer programming teaches us, the fewer global variables the better, and, if one has such, their names should be self-explanatory, not cryptic, regardless of the illusion of "saving".

Even in situations where clarification is essential, in-lined expressions can be almost entirely prose, rather than symbolic, and displayed expressions can have a small verbal comment, as in $$ \zeta(s)\;=\;\prod_p \frac{1}{1-p^{-s}}\hskip30pt\hbox{(product over primes $p$)} $$