Página principal » Codificación » ¿Por qué necesita Code Sniffers para el desarrollo web?

    ¿Por qué necesita Code Sniffers para el desarrollo web?

    La optimización de código es comparable a la fase de edición de una escritura. Es posible que primero deba anotar sus ideas en el código, pero su código debe optimizarse con herramientas como codificadores de código Producir el mejor producto posible..

    Código sniffing es un término que describe Código de verificación para el cumplimiento de las normas reglamentarias.. Estas regulaciones pueden especificar el número de espacios a usar para la sangría, la colocación de llaves o cómo nombrar las variables. Los estándares no son vitales para construir una aplicación web, pero los estándares son importantes Por consistencia interna y mantenimiento de código..

    Aquí es donde el rastreo de código resulta útil para todos los desarrolladores, desde el frontend hasta el backend. me gustaría Examinar el proceso de rastreo de código. y ofrecer algo Utilidades que ayudan a analizar los estándares de código..

    ¿Qué es el código sniffing?

    La acción de código sniffing es típicamente automatizada para Ahorra tiempo y reduce errores. Código sniffers lo hará Verifique los códigos fuente para el cumplimiento de las normas. Establecido por equipos de desarrollo interno o por organismos reguladores..

    La búsqueda de códigos es similar a la codificación de códigos, pero es más pedante. Linting principalmente comprueba errores y errores de sintaxis mientras olfatea busca problemas en la forma en que se escribe el código. Un archivo PHP puede funcionar correctamente pero fallará una prueba de detección de código si el nombre de una variable no cumple con los estándares (es decir,. $ myVariable vs $ mi_variable).

    Una pieza similar de terminología es el código de olor que comprueba defectos de diseño en el código que puede conducir a errores más grandes. Esto puede relacionarse con las normas del código, pero también incluye Arquitecturas de alto nivel para escribir código homogéneo..

    Vale la pena cubrir todas estas áreas y son relevantes para el rastreo de códigos. Sólo tenga en cuenta que el código sniffing no siempre encontrará errores de tiempo de ejecución ya que su prioridad es Manteniendo el estricto cumplimiento de las normas..

    A estas alturas, quizás te preguntes, ¿las normas son importantes? La verdad es que sí importan, pero más para la optimización y la limpieza del proyecto. Muchos desarrolladores están de acuerdo en que los estándares son vitales para la programación y el desarrollo web, especialmente en proyectos de grandes equipos.

    Aquí hay una cita del desarrollador Paul Jones que explica por qué los estándares de código son útiles.

    “El punto de un estándar de estilo de codificación no es decir que un estilo sea objetivamente mejor que otro ... En cambio, el punto es establecer expectativas conocidas sobre cómo se verá el código..”

    Si está creando una pequeña aplicación web para usted, es posible que no valga la pena dedicar tiempo a los estándares WCAG 2.0 o PSR-2. Pero considere los cientos de desarrolladores que trabajan en el código fuente de Adobe Photoshop. Sería caótico si cada persona escribiera su propio estilo y lo combinara todo..

    Aunque los equipos dependen en gran medida de los estándares, estas reglas también pueden ser útiles para los desarrolladores solitarios. Puede encontrar estándares de código para todo, desde CSS a WordPress, por lo que no hay excusa para no intentar ver si la calidad de su código mejora..

    El valor de los estándares del código

    Las normas serán naturalmente mantenga su código limpio y organizado. Los desarrolladores saben exactamente cómo escribir código y cómo seguir el trabajo de cada uno..

    Los estándares de código también ayudan al desarrollo de código abierto al ofrecer reglas que otros deben seguir. Los archivos pueden ser recogidos por cualquier persona meses o años después y aún así ser fáciles de leer.

    Un estilo de codificación estricto es una buena idea. Incluso si eliges hacer tu propio. Esto requiere mucho esfuerzo, pero a medida que los proyectos crecen, este tipo de documentación es invaluable..

    Aquí hay algunos estándares de codificación para considerar que abarcan la gama de varios idiomas web..

    • Estándares de Codificación PEAR (PHP)
    • Estándares de Google para HTML / CSS
    • Estándares de Google para JavaScript
    • Estilo de codificación Django (Python)
    • Guía de estilo de rieles (rubí)
    • WCAG 2.0 (UX)

    Los mejores recursos para oler código

    Ahora es posible encontrar sniffers de código gratuitos para todo, desde HTML / CSS hasta lenguajes backend como PHP y SQL. Es posible que no necesite usar estos rastreadores o seguir estándares para cada idioma, pero vale la pena investigar las posibilidades para ver qué podría mejorar su rendimiento..

    Código de Frontend Sniffers

    Aunque HTML no necesitar un codificador de código que no impidió que Squiz construyera uno. Es de código completamente abierto y está alojado en GitHub con las opciones para copiar / pegar el código en el navegador o guardar un bookmarklet para ejecutarse en páginas web individuales.

    Este rastreador comprueba los tres niveles de accesibilidad de A, AA y AAA de WCAG junto con las pautas de la sección 508 que se aplican principalmente a los sitios web gubernamentales..

    A los desarrolladores de CSS les puede gustar este sniffer de código CSS gratuito que también es de código abierto, alojado a través del Administrador de paquetes de nodos.

    Los usuarios de jQuery deben revisar JSCodeSniffer construido por Dmitry Sheiko. Esta es otra aplicación web gratuita alojada en GitHub que cumple con la guía de estilo de código de jQuery.

    Como alternativa, puede intentar alinear su código JS con JavaScript Lint o JS Lint. Estas herramientas buscan errores en la sintaxis en lugar de los estándares de código, pero también son muy útiles cuando se trata de la optimización de código de frontend..

    Para el registro también es posible verificar los estándares JS / CSS directamente con PHP_CodeSniffer.

    El código PHP Sniffer

    PHP_CodeSniffer es una herramienta imprescindible en su cinturón de herramientas si desea cumplir con los estándares de código PHP. El paquete contiene algunos Scripts PHP que analizan el código PHP, JS y CSS para el cumplimiento Con su elección de documentación de estilo de código.

    El creador de PHP_CodeSniffer Greg Sherwood escribió una maravillosa historia de fondo sobre cómo surgió la idea y qué problemas intenta resolver (vale la pena leerla si tiene tiempo).

    En resumen, Greg estaba trabajando con un equipo de aprendizaje de JavaScript integrado en una aplicación PHP. Su objetivo era estructurar el JS de una manera que siguiera los estándares de código de PHP para que la vida sea más fácil de cambiar de un lado a otro. Así nació PHP_CodeSniffer.

    Esto es genial para los desarrolladores de PHP porque El idioma es muy flojo con requisitos de estilo obligatorios.. Los marcos como Laravel son más estrictos, pero los desarrolladores pueden (y deberían) configurar sus propios estándares de código sin depender de un marco de terceros..

    Varios estándares como PSR-0, PSR-1 y PSR-2 son populares y están empaquetados con la biblioteca de sniffing de PHP.

    Pero puedes encontrar un montón de otros estándares de código pre-hechos para PHP CMS 'como WordPress, Magento y Drupal. Los desarrolladores en el núcleo de Drupal incluso lanzaron un módulo oficial de código sniffer llamado Coder.

    PHP es, sin duda, el lenguaje más fácil de optimizar con rastreadores de código. Si estas buscando una lista de estándares de código PHP Echa un vistazo a esta entrada de GitHub.

    Otros Backend Code Sniffers

    Los desarrolladores backend trabajan con una variedad de lenguajes más allá de PHP y los números crecen cada año. Con lenguajes alternativos también tenemos bibliotecas alternativas de rastreo de código, como code-sniffer para Python.

    Es posible consultar otros scripts en línea o usar herramientas como PyLint. Pero esta es otra metodología que requiere paciencia para trabajar en su flujo de desarrollo.

    Los desarrolladores de Ruby también tienen una serie de opciones cuando se trata de Codificación y análisis de código.. Los mejores son siempre gratuitos y de código abierto como Ruby Lint, un analizador de código estático creado para el código moderno de Ruby..

    Todavía no he encontrado un sniffer de código dedicado de Node.js pero espero que surja un proyecto con el tiempo. Hay sniffers de código JS que son compatibles con los estándares de Node, pero aún es un nuevo lenguaje de fondo y requiere tiempo para crecer.

    Por último tenemos la sintaxis SQL utilizada para las bases de datos. Este código puede ser más complicado ya que es difícil encontrar estándares de sintaxis bien soportados para el código fuente de SQL. Pero encontré una aplicación web de formato SQL que debería ser tremendamente útil al optimizar las consultas de base de datos.

    Envolver

    El mejor lugar para iniciar el rastreo de código es con un idioma y un estándar. HTML / CSS es un lugar fácil para los desarrolladores de frontend, mientras que PHP es a menudo una opción favorita entre los desarrolladores de backend (especialmente los desarrolladores de WordPress).

    Y si desea obtener más información, consulte estas publicaciones relacionadas con el análisis de códigos, análisis de códigos automatizados y análisis de códigos para la optimización..

    • Por qué necesita estándares de codificación
    • El código huele por Jeff Atwood
    • PHP Code Sniffer: Instalación y configuración
    • Introducción a CodeSniffer (Parte 1)
    • GitHub Showcase: Clean Code Linters