4.4 KiB
language = es
title_i18n = python_mapper_title_faq
title_text = F.A.Q. - PythonMapper
F.A.Q.
En este apartado se responderán a las preguntas más frecuentes que se puedan realizar en el entorno cercano de este proyecto.
[!?] ¿Por qué se crea este proyecto a pesar de que ya hay otros muchos que teóricamente hacen lo mismo ya implementados dentro de IDEs como Visual Studio Code, entre otros? El problema es que aquí se trabaja una filosofía no nativa de Python, pero no implica incompatibilidad en su base, por lo que para poder trabajar literalmente dicho sistema se optó por desarrollar un sistema propio que mediante un proceso paralelo y automático a la par que se desarrolla un proyecto, éste pueda ir mapeando dicho proyecto para establecer las dependencias de tipado sobre los elementos que se van adjuntando, así queda plenamente separado del IDE y de cualquier otro recurso y sólo requeriría de ser ejecutado con el propio Python tras una configuración inicial del mismo.
[!?] ¿Por qué este trabajo está público y gratuito? Esta librería es una librería que sí o sí iba a desarrollar Srx00 para los fines de los distintos proyectos que desarrolla. Al no tener un modelo de negocio y no estar sujeto a clientes, éste quedará libre y gratuito, dentro de los términos y condiciones de la licencia Creative Commons BY-NC-SA 4.0. Ésto permite no sólo compartir con la comunidad, sino también currículum y una forma de extender el conocimiento de existencia de este tipo de proyectos de Srx00.
[!?] ¿Por qué la licencia Creative Commons de Atribución, No Comercial y que se Permite Compartir, CC-BY-NC-SA 4.0? Porque Srx00 quiere compartir con la comunidad este trabajo, sin embargo, una de las condiciones más importantes es reconocer la autoría original, lo que ofrece Currículum y conocimiento del trabajo del o los autores, además de no permitir la comercialización de dicho proyecto, lo que no impide que éste pueda estar en un proyecto comercial siempre que lo que se venda no sea este proyecto. Las licencias como MIT o GPL no cumplen con dichas espectativas y Srx00 tiene la filosofía de que todo trabajo ha de ser reconocido a su autor aunque éste no lo requiera o precise pues es su trabajo.
[!?] Al ser un proyecto CC-BY-NC-SA 4.0, el cual tiene como condición No Comercial. ¿Podría integrar este proyecto en un proyecto personal de caracter privado y comercial? Sí, siempre que éste reconozca la autoría de este proyecto y que no sea éste la base de negocio económico de dicho proyecto, es decir, si se integra para gestionar los errores del proyecto o cualquier otra cosa que ayude o facilite el trabajo del mismo pero la base económica del proyecto sea otra cosa agena a eso se permite perfectamente el uso y manipulación del mismo.
[!?] Los métodos y funciones creados en el archivo del mapeado Python no retornan nada, simplemente se le asigna un cuerpo con la palabra clave pass. Una cosa similar pasa con las variables, que tienen como valor None. ¿Está correcto eso? Pues sí, eso se hace con la finalidad de que el método o función exista pero no tenga repercusión a la hora de ser llamado pues cuando se llame desde un objeto, aunque el tipado referencie al mapeado, éste se ejecutará como nativamente es, ignorando el mapeado. Con respecto a las variables pasa exactamente lo mismo, sin embargo, sí hay una repercusión cara las variables estáticas o de clase las cuales salen de la propia definición de la clase. Para poder hacer uso del recurso estático original y no del mapeado ha de hacerse a partir del recurso relativo que estamos trabajando en ese momento.
[!?] Desde que hago uso del mapeado, cuando intento acceder a un recurso estático, éste sale con valores nulos o con métodos que no tienen ni retorno ni procesamiento. ¿Qué estoy haciendo mal? Uno de los problemas que nos encontramos al hacer uso de los mapeados es que en el nivel de importación donde los usamos, éstos sobreescriben a las definiciones originales por lo que es de vital importancia que en caso de usar mapeados, los recursos estáticos sean accesibles desde los objetos de trabajo pues éstos siguen usando el mapeado original. Este es el motivo principal por el cual sólo ha de importarse las partes del mapeado que realmente se estén utilizando como tipados de referencia, pero nunca importar completamente éste pues nos dará este tipo de problemas inesperados.