Hola. Aquí va la revisión:
https://github.com/dennissolis28/Generador-QR/
Para esta revisión se sigue la Guía de revisión de complementos de la comunidad de NVDA en español. Se indican los puntos que necesitan atención, los puntos no indicados en la revisión son correctos o no aplicables.
La estructura de archivos en el repositorio no es correcta.
__init__.py vacío.url,
docFileName y updateChannel.Debería usar la plantilla estándar.
No hay cabeceras de licencia (1.2). Los archivos .py deberían incluir algunas líneas como estas:
# <nombre del complemento> add-on for NVDA
# This file is covered by the GNU General Public License.
# See the file COPYING.txt for more details.
# Copyright (C) 2020 Pepe Pérez <pepe....@nvda.es>
También debería haber una copia de la licencia (archivo COPYING.txt)
en el repositorio o en el paquete nvda-addon (1.1).
El complemento usa varios módulos de terceros (1.3): Colorama, Pillow y QRCode. Cada uno incluye su correspondiente licencia en su carpeta. No es necesario, creo, pero a mí me gusta incluir una referencia a estas licencias en el encabezado de mis archivos py.
El complemento usa un archivo binario globalPlugins\lib\bin\qr.exe
del que no se proporciona el código fuente. Virus
Total no detecta nada extraño en él. Parece que es el
wrapper que Windows crea para ejecutar el script qr
del paquete qrcode. Por lo que he investigado el módulo qrcode
está escrito en Python puro por lo que no se necesitaría incluir
ningún binario en el complemento. Tampoco encuentro ninguna
llamada a subproceso ni nada en el código y el complemento parece
funcionar sin él, al menos no da error. Es recomendable no usar
binarios en los complementos si no son estrictamente necesarios.
El módulo colorama no sé qué función tiene aquí. No parece ser
una dependencia ni de qrcode ni de pillow. Creo que es algo del
texto en la terminal pero el complemento no tiene nada que ver con
eso. PIL (Pillow) sí es una dependencia de qrcode y necesario para
generar la imagen png pero no hace falta importarlo (línea 17 de qr.py),
lo usa qrcode internamente.
Por otro lado, debería bloquearse la ejecución en pantallas seguras (2.4).
El complemento no incluye ninguna documentación ni archivo
readme. El script tampoco tiene el atributo __doc__
que permite que la ayuda de entrada verbalice su función.
ui.message.No he hecho una revisión de estilo completa. El código en general
está bien escrito. Sólo movería la importación de queueHandler
al principio y eliminaría la importación de PIL que
no es necesaria.
Como no tiene cadenas traducibles tampoco tiene comentarios para
traductores (6.1) ni archivo
Javi Domínguez
Disculpas, se me cortó el texto antes del final. Lo pego a continuación:
Como no tiene cadenas traducibles tampoco tiene comentarios para
traducgtores (6.1) ni archivo buildVars.py en el que declarar el
idioma base (6.2).
## Conclusión
El complemento me gusta, es útil, pero todavía no está listo para
ser publicado. Necesita mejorar los aspectos indicados en esta
revisión y someterse a más pruebas de betatesters para confirmar
que el código generado es correcto.
Javi Domínguez