Respecto a las condiciones que un control debe cumplir como estándar de calidad mínima se debería establecer que:
1-El control no utilice herramientas externas al propio gambas.
Un control puede ser ejecutado en multitud de distribuciones, países, etc. Por tanto no debería necesitar utilizar nada que no tengamos garantía de que exista en la máquina donde se utilice.
2-Presente todas sus propiedades explicadas con doble comilla de comentario para que aparezca su funcionalidad en las ayudas del IDE
Si en la declaración de la propiedad hacemos ésto:
Nótese que de lante de Texto hay dos comillas simples, no una doble
En el IDE, en la ventana de ayudas, al señalar la propiedad (que aparecerá subrayada) veremos ese texto indicativo del propósito y funcionalidad de la propiedad.
3-Sea traducible y se suba con la traducción, al menos, al inglés
La vocación de un componente es se ampliamente utilizado y el inglés es el idioma estándar para la programación.
4-Que utilice nombres en inglés de variables y controles
Por las mismas razones del punto 3.
5.-Que tenga claramente diferenciados de los demás controles los recursos que utilice
Así si utiliza iconos, por ejemplo, éstos estén ubicados dentro de una carpeta en el raíz del proyecto, de manera que quede siempre claro a qué control corresponde qué recurso y no se produzca la acumulación de basura (iconos que nadie está muy seguro de si se usan o no en algún control, etc. etc.)
6.-Que utilice los recursos estándar siempre que sea posible
Si se utilizan iconos que estén contemplados en los iconos del sistema (stock) deberán ser usados éstos, por cuanto el tamaño y la lentitud del paquete de instalación se ven muy afectados si incluye muchas imágenes. Si utiliza colores que sean los colores estándar del escritorio, etc. para no imponer al usuario ninguna estética que puede ser incoherente con su entorno.
... y alguna otra cosilla que ahora no recuerdo...