This question is related to [Question: linebreak in macros](https://tex.stackexchange.com/questions/89310/automatic-linebreak-in-align-environment-in-macros), however it is not asking for the same information and I separated it out:

In my documents, I make use of commands like the following:

```
\newcommand{\AND}[2]{\left(#1 \vee #2 \right)}

```

The advantages are quite obvious:

* better readable code
* no forgotten parenthesis
* the possibility to redefine later without searching each occurrence
* always the correct number of arguments
* uniform design

The only disadvantage that I found so far is, that the whole environment doesn't work any more when its contents becomes to large, i.e. in nested occurrences of the command.

So here's the question: Is the way I do it considered to be best practice?
If yes, how should I handle the problem mentioned above?
If no, should I type all the mathematics code explicitely, i.e. without shortcut macros?
How could I keep at least some of the advantages?