RubyGems: Nombrando tu gema (7)

Estos son algunos ejemplos de recomendaciones para nombrar gemas:

NOMBRE DE LA GEMA REQUERIR DECLARACIÓN CLASE PRINCIPAL O MÓDULO
ruby_parser require 'ruby_parser' RubyParser
rdoc-data require 'rdoc/data' RDoc::Data
net-http-persistent require 'net/http/persistent' Net::HTTP::Persistent
net-http-digest_auth require 'net/http/digest_auth' Net::HTTP::DigestAuth

El objetivo principal de estas recomendaciones es dar al usuario alguna pista sobre cómo requerir los archivos de tu gema.

Seguir estas convenciones también permite que Bundler requiera tu gema sin configuración adicional.

Si publicas una gema en rubygems.org, es posible que se elimine si el nombre es objetable, viola la propiedad intelectual o si el contenido de la gema no cumple con estos criterios.

Puede informar sobre dicha gema a [email protected] por correo electrónico.

Usa guiones bajos para varias palabras

Si una clase o módulo tiene varias palabras, use guiones bajos para separarlas. Esto coincide con el archivo que requerirá el usuario, lo que facilita que el usuario comience a usar su gema.

Usa guiones para las extensiones

Si estás agregando funcionalidad a otra gema, usa un guion. Eso generalmente corresponde a una /en la instrucción require (y por lo tanto a la estructura de directorios de su gema) y una :: en el nombre de su clase o módulo principal.

Mezcla guiones bajos y guiones adecuadamente

Si tu clase o módulo tiene varias palabras y también estás agregando funcionalidad a otra gema, sigue las dos reglas anteriores.

Por ejemplo, net-http-digest_authagrega autenticación de resumen HTTP a net/http. El usuario require 'net/http/digest_auth' usará la extensión (en clase Net::HTTP::DigestAuth).

No uses letras mayúsculas

OS X y Windows tienen sistemas de archivos que no distinguen entre mayúsculas y minúsculas de forma predeterminada.

Los usuarios pueden requerir por error archivos de una gema usando letras mayúsculas que no serán portátiles si lo mueven a un sistema que no sea Windows o OS X.


<<

Artículos Relacionados
Lanzamiento del Framework de Python: Django 3.2

El equipo de Django anunció el lanzamiento de Django 3.2 hace un par de días, la nueva versión corresponde a una versión de soporte a largo plazo (LTS). Lo que significa que las correcciones de seguridad y pérdida de datos se aplicarán durante al ¡SEGUIR LEYENDO!

¡El escaneo de código ya está disponible en Github!

El escaneo de código de GitHub es un enfoque nativo de GitHub para desarrolladores que busca fácilmente vulnerabilidades de seguridad antes de que lleguen a producción. Estamos encantados de anunciar la disponibilidad general del escaneo de código. ¡Ya puedes habilitarlo en tu repositorio público! ¡SEGUIR LEYENDO!

Gestor de Paquetes para Fortran: fpm

Fortran Package Manager (fpm) es un administrador de paquetes y un sistema de compilación para Fortran. Su objetivo clave es mejorar la experiencia del usuario de los programadores de Fortran. FPM facilita la creación de un programa o biblioteca Fortran, ejecutar los ejecutables, las ¡SEGUIR LEYENDO!

Comparte tu opinión