A veces, las cláusulas de no operación pueden hacer que su código sea más legible.
Eso puede ser una cuestión de opinión, pero aquí hay un ejemplo. Supongamos que ha creado una función que funciona tomando dos rutas de Unix. Calcula la 'ruta de cambio' necesaria para cambiar de una ruta a otra. Usted coloca una restricción en su función de que las rutas deben comenzar con '/' O ambas no deben comenzar.
function chgpath() {
# toC, fromC are the first characters of the argument paths.
if [[ "$toC" == / && "$fromC" == / ]] || [[ "$toC" != / && "$fromC" != / ]]
then
true # continue with function
else
return 1 # Skip function.
fi
Algunos desarrolladores querrán eliminar el no-op, pero eso significaría negar el condicional:
function chgpath() {
# toC, fromC are the first characters of the argument paths.
if [[ "$toC" != / || "$fromC" == / ]] && [[ "$toC" == / || "$fromC" != / ]]
then
return 1 # Skip function.
fi
Ahora, en mi opinión, no está tan claro en la cláusula if las condiciones en las que querría omitir la función. Para eliminar el no-op y hacerlo claramente, querrá mover la cláusula if fuera de la función:
if [[ "$toC" == / && "$fromC" == / ]] || [[ "$toC" != / && "$fromC" != / ]]
then
cdPath=$(chgPath pathA pathB) # (we moved the conditional outside)
Eso se ve mejor, pero muchas veces no podemos hacer esto; queremos que la verificación se realice dentro de la función.
Entonces, ¿con qué frecuencia sucede esto? No muy seguido. Quizás una o dos veces al año. Ocurre con bastante frecuencia, por lo que debes estar al tanto. No evito usarlo cuando creo que mejora la legibilidad de mi código (independientemente del idioma).