Tenemos muchos estilos de codificación o especificaciones de codificación. Pero a menudo podemos olvidar este elemento, es decir, a menudo usamos parámetros bool en los parámetros de función, lo que reducirá en gran medida la legibilidad del código. ¿No lo crees? Primero veamos el código a continuación.
Cuando lees el siguiente código, ¿qué crees que significa este código?
widget->repaint(false); ¿Quieres volver a pintar? ¿O significa algo más?
Después de leer el documento, aprendimos que este parámetro es inmediato, es decir, falso significa no volver a dibujar inmediatamente y verdadero significa que el código se volverá a dibujar inmediatamente.
También existe una función de este tipo en la API de Windows: InvalidateRect. Cuando ve el siguiente código, ¿qué cree que significa?
InvalidateRect(hwnd, lpRect, false); No hablemos de qué tan malo es el nombre de la función InvalidateRect. ¿Hablemos primero del parámetro falso? invalidar significa "invalidar XXX", ¿qué significa falso? ¿Doble negativo? ¿Significa afirmativamente?
Si ve un código como este, será bastante confuso. Entonces, debes mirar la documentación o la definición de la función de InvalidateRect. Verás que el parámetro es BOOL bErase, que significa: "Si deseas volver a dibujar el fondo".
Hay muchas cosas de este tipo. Al observar el siguiente código, quiero reemplazar "%USER%" en str con el nombre de usuario real:
str.replace("%USER%", usuario, falso); // Qt 3TNND, ¿qué significa falso? ¿No reemplazarlo? ¿O significa algo más?
Después de leer la documentación, descubrí que falso significa: "reemplazo que no distingue entre mayúsculas y minúsculas".
En realidad, si usa variables/constantes enum en lugar de variables bool, hará que su código sea más legible, como: