¿Qué es el texto estándar y por qué lo usamos? Necesidad de una guía de estilo de codificación

En tecnología de la información, un texto estándar es una unidad de escritura que se puede reutilizar una y otra vez sin cambios. Por extensión, la idea a veces se aplica a la programación reutilizable, como en el "código repetitivo".

Los acuerdos legales, incluidos los términos y condiciones de software y hardware, hacen un uso abundante de las plantillas.

Por ejemplo, un abogado puede darle un contrato de cinco páginas para firmar, pero la mayor parte del contrato es repetitivo, lo que significa que es lo mismo para todos los que obtienen ese contrato, con solo algunas líneas cambiadas aquí y allá.

En programación de computadoras, el código repetitivo o repetitivo se refiere a secciones de código que deben incluirse en muchos lugares con poca o ninguna alteración. A menudo se usa cuando se hace referencia a lenguajes que se consideran detallados , es decir, el programador debe escribir mucho código para realizar trabajos mínimos.

Por ejemplo, en el desarrollo web, un código estándar simple para HTML se vería así:

Hello world! This is HTML5 Boilerplate.

Puedes ver el repositorio completo aquí:

h5bp / html5-boilerplate

html5-boilerplate: una plantilla de interfaz profesional para crear sitios o aplicaciones web rápidos, sólidos y adaptables. github.com

En la década de 1890, la placa de caldera se fundía o estampaba en metal listo para la imprenta y se distribuía a las imprentas y empresas de periódicos de los Estados Unidos. Hasta la década de 1950, miles de periódicos recibieron y utilizaron este tipo de calderería del proveedor más grande del país, Western Newspaper Union. Algunas empresas también enviaron comunicados de prensa como modelo estándar para que tuvieran que imprimirse tal como están escritos.

La mayoría de los desarrolladores web profesionales han creado una colección de activos y fragmentos de código que reutilizan en proyectos para acelerar el desarrollo. Hay algunos patrones universales o casi universales que todos los sitios web tienen en común. En lugar de reconstruirlos continuamente, la mayoría de los desarrolladores comienzan copiando el código que usaron para un proyecto similar y luego comienzan a modificarlo.

Algunos desarrolladores reconocen el valor de estas plantillas de inicio estándar y se toman el tiempo para hacer que las plantillas sean más genéricas y compartirlas en línea para que otros las usen.

Esto no se limita solo al desarrollo web. Se usa más allá de AI / ML, ya que hay más marcos y bibliotecas en crecimiento.

Características necesarias de la placa de caldera para grandes proyectos (lista para producción)

  • ¿Documentación buena y legible?
  • Estructura de código con un nivel de abstracción más profundo
  • Sigue el estándar de codificación adecuado
  • Tiene herramienta CLI (para creación rápida de prototipos y configuración)
  • Escalable?
  • Herramientas de prueba sencillas
  • Módulos API necesarios
  • ¿Soporte para internacionalización y localización?
  • División de código
  • Código de servidor y cliente para la configuración
  • ¿Estructura adecuada de navegación y enrutamiento?

Después de todas estas especificaciones mínimas, debe comenzar a editar y alterar el código para construir su proyecto.

Hay algunas grandes empresas tecnológicas que incluso construyen su propia plantilla. Lo utilizan para proyectos respectivos y similares a lo largo del tiempo.

Un ejemplo perfecto de esto sería el texto estándar de react.js:

react-boilerplate / react-boilerplate

react-boilerplate -: fire: Una base altamente escalable, sin conexión primero con la mejor experiencia de desarrollador y un enfoque… github.com

Plantilla para proyectos más pequeños (andamios)

Este tipo de calderas son generalmente una especie de "kits de inicio" o de manera profesional se llama "andamios". Sus principales usuarios objetivo son desarrolladores novatos o nuevos usuarios pioneros.

Se centra en la creación rápida de prototipos mediante la creación de los elementos que son necesarios solo para nuevos proyectos. Estos requieren menos funcionalidad y no son escalables en el tiempo y el proyecto.

Su estructura de código no se ha expandido mucho y no implica una capa de abstracción más profunda, ya que los usuarios solo necesitan crear funciones básicas. Esto elimina la necesidad de utilidades adicionales.

El ejemplo más simple es el modelo estándar de Facebook create-react-app:

facebookincubator / create-react-app

create-react-app: cree aplicaciones React sin configuración de compilación. github.com

¿Cuál es la diferencia entre una plantilla y una plantilla?

Como dice claramente Joachim Pense, el texto estándar es algo que se copia y pega y simplemente se agrega a un documento. Aparece con mayor frecuencia en contratos donde se usa y reutiliza el lenguaje, y se detallan cosas como condiciones y advertencias.

Los escritores usan plantillas como modelos , a veces con efectos negativos. En términos generales, una plantilla es un modelo o patrón que se utiliza para crear nuevos objetos. Por escrito, es una forma estandarizada de algo así como un currículum que los escritores pueden usar para desarrollar sus propias versiones.

A diferencia de las plantillas, las plantillas se adaptan para un uso particular. El problema surgió para mí cuando los estudiantes usaron plantillas de Word para sus currículums y todos terminaron con el mismo aspecto.

Tanto las plantillas como las plantillas pueden hacer que la redacción comercial sea forzada y artificial si se usa imprudentemente.

Guía de estilo para escribir código

Independientemente de si está usando plantilla estándar o no, existen algunos estándares seguidos por las empresas para escribir código. Uno de ellos es Style Guide. Intenta explicar los estilos y patrones básicos que se utilizan en varias empresas u organizaciones. Por lo general, es una regla que los empleados deben adoptar la guía de estilo de codificación de su empresa.

La Guía de estilo describe toneladas de reglas para escribir código, como sangría de pestañas y espacios, nombrar variables y funciones, escribir comentarios necesarios, formatear, estructuras de archivos fuente, usar el método adecuado de estructuras de datos, evitar la elevación, el alcance, las declaraciones de control y un mucho más.

Los estilos de programación normalmente se ocupan de la apariencia visual del código fuente con el objetivo de mejorar la legibilidad. Hace tiempo que se dispone de software que formatea el código fuente automáticamente, lo que deja a los codificadores concentrarse en la nomenclatura, la lógica y técnicas superiores.

Como punto práctico, usar una computadora para formatear el código fuente ahorra tiempo y luego es posible hacer cumplir los estándares de toda la empresa sin debates. (Fuente - Wiki).

Estos son algunos debates comunes como: Pestañas v Espacios Guerra santa , elegir el IDE de código perfecto , etc. Lo interesante es que puedes involucrarte en estos debates que ocurren principalmente en Reddit . También puede participar en algunas de las preguntas y respuestas de stackoverflow .

Para los desarrolladores web, la guía de estilo más común para JS es la guía de estilo javascript de Airbnb. Es de código abierto y todos pueden contribuir.

airbnb / javascript

javascript - Guía de estilo de JavaScript github.com

Si alguien tiene dudas sobre por qué Javascript necesita una guía de estilo, lea la segunda respuesta de este número de Harrison Shoff, quien es programador en Airbnb .

¿Por qué JavaScript necesita una guía de estilo? · Número 102 · airbnb / javascript

Una de mis partes favoritas de la comunidad de JavaScript es que la gente elige escribirlo de muchas formas diferentes ... github.com

A continuación, se muestran algunas guías de estilo para algunos de los idiomas más populares de la actualidad:

Formateador de código DotNet

Java: formato Google-Java

Estilo estándar de Javascript (diferente del javascript de airbnb)

PHP Estándares de Codificación Fixe r

Python: YAPF de Google

Rubí: Rubocop

Más de Boilerplate: Concept for OOP

En los programas orientados a objetos, las clases a menudo se proporcionan con métodos para obtener y establecer variables de instancia. Las definiciones de estos métodos a menudo se pueden considerar repetitivas.

Aunque el código variará de una clase a otra, su estructura es lo suficientemente estereotipada como para que sea mejor generado automáticamente que escrito a mano.

Por ejemplo, en la siguiente clase de Java que representa una mascota, casi todo el código es estándar, excepto las declaraciones de mascota , nombre y propietario :

public class Pet { private String name; private Person owner;
public Pet(String name, Person owner) { this.name = name; this.owner = owner; }
public String getName() { return name; }
public void setName(String name) { this.name = name; }
public Person getOwner() { return owner; }
public void setOwner(Person owner) { this.owner = owner; }}

La definición estándar se está volviendo más global en muchos otros lenguajes de programación hoy en día. Proviene de OOP y lenguajes híbridos que alguna vez fueron de procedimiento pero se han convertido en OOP. Ahora tienen el mismo objetivo de repetir el código que construye con un modelo / plantilla / clase / objeto, por lo que adoptan este término. Usted crea una plantilla y lo único que hace para cada instancia de una plantilla son los parámetros individuales.

Esta parte es lo que llamamos repetitivo. Simplemente reutiliza el código del que hiciste una plantilla, pero con diferentes parámetros.

Boilerplate como API

Dado que simplemente está reutilizando el código de la plantilla con diferentes parámetros, esto implica que podríamos crear API reutilizables que solo necesitan un cambio de entradas y salidas.

Conclusión

El “código repetitivo” es cualquier código aparentemente repetitivo que aparece una y otra vez para obtener un resultado que parece que debería ser mucho más simple.

Escribí este artículo porque recientemente un líder de equipo me indicó que aprendiera sobre las muchas variedades de calderas que podrían ser adecuadas para nuestro proyecto. Así que tuve que ir a buscar el texto modelo perfecto.

¡Cualquier tipo de comentario será apreciado! ¡Adelante!