[Notas de estudio de C++]: mantenibilidad

Evite el uso de macros de compilación

Las macros son reemplazadas por el preprocesador antes de la compilación, lo que dificulta mucho la depuración porque el depurador no tiene forma de saber de dónde proviene el código fuente.

// Bad Idea
#define PI 3.14159;

// Good Idea
namespace my_project {
  class Constants {
  public:
    // if the above macro would be expanded, then the following line would be:
    //   static const double 3.14159 = 3.14159;
    // which leads to a compile-time error. Sometimes such errors are hard to understand.
    static constexpr double PI = 3.14159;
  };
}

Evite el uso de valores booleanos como argumentos de funciones

Al leer el código, los valores booleanos no aportan ningún significado adicional. Podría crear una función independiente con un nombre más significativo o pasar un valor de enumeración más significativo.

Evite el uso de bucles desnudos

Comprender y comprender los algoritmos estándar de C++ existentes y ponerlos en práctica.

  • Referencia cpppreference[2]

  • Ver condimento C++[3]

Considere []la llamada a un posible olor a código, que indica que no se está utilizando el algoritmo apropiado cuando es necesario.

Nunca uses nada que tenga efectos secundarios.assert

// Bad Idea
assert(set_value(something));

// Better Idea
[[maybe_unused]] const auto success = set_value(something);
assert(success);

Se eliminará en la versión de lanzamiento assert()y set_valueno se podrá llamar.

Aunque la segunda versión es más fea, sigue siendo mejor que la primera versión con errores.

Uso correcto de "override" y "final"

Estas palabras clave dejan claro a otros desarrolladores cómo se puede utilizar una función virtual, detectan errores potenciales si cambia la firma de una función virtual y potencialmente indican al compilador qué optimizaciones se pueden realizar.

Supongo que te gusta

Origin blog.csdn.net/Jiangziyadizi/article/details/129372769
Recomendado
Clasificación