Los elementos de una buena plantilla en c ++
La plantilla se crea tiene un aspecto profesional y el trabajo como se esperaba. La primera decisión que tienes que hacer es qué tipo de plantilla para crear. Usted puede elegir entre estos tres tipos:
Función: Una función representa la forma más sencilla de crear una plantilla y facilita los requisitos de depuración. Puede funciones de grupo en las bibliotecas para que sean más fáciles de acceder. Sin embargo, las funciones a menudo carecen de profundidad y no se puede coordinar las actividades entre ellos tan fácilmente como sea posible entre los elementos de un objeto.
Estructura: Una estructura ofrece la mejor velocidad en muchos casos, y puede reducir la cantidad de recursos del sistema se requiere, dependiendo de cómo se defina la estructura. Recuerde que C ++ asigna memoria para toda la estructura, pero las estructuras también presentan oportunidades de optimización que no se consigue con una clase.
Clase: Una clase proporciona la mayor flexibilidad porque se puede expresar la plantilla con todos los elementos que una clase puede proporcionar - métodos, propiedades y eventos. Puede heredar clases para crear nuevas clases. En resumen, si usted tiene una idea compleja de implementar, las clases son la manera de hacerlo.
La segunda decisión que tiene que tomar es cómo ponderar los factores de diseño al crear la plantilla. C ++ ofrece miles de maneras de lograr una tarea determinada. Por ejemplo, tiene varias formas de crear una función. Sin embargo, un método es normalmente superior a los otros simplemente porque ofrece algún beneficio particular. Tenga en cuenta estos requisitos al momento de elegir el tipo de plantilla para crear:
Seguridad: " Simplicidad " a menudo se traduce en " más fácil de asegurar ". En general, las funciones son más fáciles de asegurar que las estructuras, que son más fáciles de asegurar que las clases. Sin embargo, puede escribir fácilmente una clase insegura si se utiliza el enfoque equivocado. Plantillas de seguros a menudo requieren controles adicionales que pueden afectar a la fiabilidad (la plantilla no tiende a permitir acciones específicas cuando estas acciones afectan a la seguridad) y la velocidad (código adicional siempre retrasa la ejecución de la plantilla).
Fiabilidad: Las opciones que elija afectará a la fiabilidad de la plantilla que usted cree. Una plantilla fiable produce resultados consistentes para cualquier tipo de datos suministrada a la misma. En algunos casos, asegurando la fiabilidad significa añadir controles a la plantilla, lo que aumenta la complejidad. El código adicional afecta tanto a la seguridad y la velocidad de la plantilla.
Velocidad: Plantillas ahorran el tiempo desarrollador. Sin embargo, si la plantilla resultante produce código lento, puede estar seguro de que los usuarios se quejan y el desarrollador va a terminar la reescritura de algo de código para mejorar la velocidad de aplicación. Una plantilla de rápido es generalmente pequeño y realiza la tarea con precisión. Los controles adicionales necesarios para garantizar un funcionamiento seguro y fiable siempre afectan negativamente a la velocidad, por lo que deben trabajar para lograr un equilibrio.
Uso: Algunas plantillas son tan difíciles de usar que dudamos mucho que incluso el autor los utiliza. Si un desarrollador no puede determinar cómo utilizar la plantilla, nadie va a utilizar nunca, y su esfuerzo se desperdicia. En consecuencia, debe diseñar la plantilla de tal manera que cumpla con la seguridad, la fiabilidad y las metas de velocidad sin llegar a ser demasiado difícil de usar.
Hora: Cada vez que se diseña una nueva pieza de software, hay un elemento de tiempo en cuestión. Es esencial para decidir si la plantilla en última instancia, ahorrar suficiente tiempo de desarrollo para compensar el costo de desarrollo de la creación y probarlo. Una plantilla que sólo se va a utilizar un par de veces puede no valer la pena el esfuerzo.
Mantenimiento: Alguien tendrá que mantener el código utilizado para crear la plantilla. Una buena plantilla es uno en el que el código es relativamente sencillo. Por supuesto, es necesario agregar comentarios al código que explica cómo funciona el código - y documentar completamente el diseño de la plantilla. La mayoría de las plantillas de ver algún nivel de rediseño durante su ciclo de vida - que evolucionan a medida que los desarrolladores utilizan la plantilla y descubre nuevas formas de incorporar en las aplicaciones.
La mejor plantilla es el que parece obvia. Estábamos leyendo recientemente un artículo acerca de la invención del pasador de seguridad. El pasador de seguridad que parece obvio, pero alguien todavía tenía que inventarlo, porque nadie había pensado en ello.
Al crear una plantilla y alguien le dice que se parece como una idea obvia, no te enojes. Estar contento. Usted se ha unido a las filas de personas que pensaban de algo que satisface una necesidad obvia, pero nadie pensó en ello antes que tú.
La tercera decisión que debe tomar es la forma incluyente para hacer la plantilla. En algunos casos, se desea crear una plantilla que puede manejar una variedad de situaciones. Sin embargo, una plantilla puede convertirse rápidamente en inmanejable y difícil de manejar. Una buena plantilla es equilibrada - que incluye los elementos que necesita, pero nada más allá.