Red de conocimiento informático - Material del sitio web - Cómo pulir las herramientas de desarrollo más eficientes

Cómo pulir las herramientas de desarrollo más eficientes

Hace aproximadamente dos años, entrevistamos al Sr. Liu Yu, quien tiene 18 años de experiencia en desarrollo y también es gerente de desarrollo y diseñador jefe de Entity Model Studio, una herramienta de generación de código. La última vez, compartimos principalmente nuestros muchos años de experiencia en la industria (mirando hacia atrás: dieciocho años de sucursales lingüísticas). Esta vez invitamos una vez más al Sr. Liu a analizar esta herramienta de desarrollo para nosotros, y al mismo tiempo. También nos centramos en los problemas encontrados durante el desarrollo del proyecto y compartimos los obstáculos. A continuación iremos al grano y comenzaremos a analizar esta herramienta de generación de código.

Entity Model Studio analiza cómo estar en estrecho contacto con los desarrolladores

Entity Model Studio es una herramienta de modelado y generación de código basada en métodos de diseño orientado a objetos. La diferencia esencial con otras herramientas. es eso En términos de posicionamiento y concepto del producto. En la entrevista, Liu Yu mencionó: "El concepto de diseño de esta herramienta es proporcionar a los desarrolladores herramientas de diseño y desarrollo simples y prácticas, y maximizar la eficiencia de la producción de software. Esta herramienta está posicionada para equipos pequeños y medianos y basados ​​en bases de datos. El desarrollo de software de aplicación refleja dos diferencias en la función. La primera diferencia es qué tipo de función se implementa y la segunda diferencia es el grado en que se implementa una función”.

La primera diferencia es. que el diseño de modelado UML, el diseño de bases de datos y la generación de código se implementen completa y perfectamente juntos. En comparación con algunas de las principales herramientas de diseño actuales, es difícil encontrar herramientas que implementen estas tres funciones juntas. Estas tres partes cubren el modelado, el diseño de bases de datos y la codificación, brindando un soporte relativamente completo para el desarrollo de equipos pequeños y medianos. Es muy adecuado para los requisitos de desarrollo corto y rápido de equipos pequeños y medianos, y también puede brindar un muy buen soporte para el desarrollo de proyectos de cierta escala.

La segunda diferencia se puede comparar con las tres funciones principales anteriores. Hablemos primero de la parte del modelado UML. Las herramientas principales tienen el primer objetivo de implementar UML de manera integral y completa, y resaltan la autoridad, la amplitud y la precisión en la publicidad. Dado que Entity Model Studio está dirigido principalmente al desarrollo de equipos pequeños y medianos y aplicaciones de bases de datos, ha adaptado y simplificado UML, enfatizando la orientación, la facilidad de uso y la comprensibilidad. Por ejemplo, para el desarrollo de aplicaciones de bases de datos, los símbolos y conceptos en UML se han definido de manera más clara, más específica y más fácil de entender, de modo que no haya contenido oscuro en uso y los desarrolladores se sientan amigables. En términos de uso, la autoridad de las herramientas convencionales requiere que los desarrolladores sigan los estándares UML, que están centrados en UML. Entity Model Studio proporciona un UML simplificado que permite que UML brinde soporte a los desarrolladores y está completamente centrado en los desarrolladores.

La parte de modelado de bases de datos tampoco adopta un enfoque integral, por el contrario, solo implementa las funciones más utilizadas. Sin embargo, el diseño de la base de datos orientada a objetos se destaca en términos de implementación y está perfectamente conectado con el modelado de entidades. De esta manera, los desarrolladores pueden completar el diseño de la base de datos mientras completan el modelado de entidades. Este diseño de la base de datos refleja completamente el polimorfismo y las características de herencia. Por ejemplo, los índices y los activadores se pueden heredar y generar en la base de datos. Actualmente, esto no está disponible en las principales herramientas de diseño de bases de datos. El diseño de la base de datos de los productos principales refleja un diseño físico. Por ejemplo, al crear una base de datos, se le pedirá que seleccione el nombre de la base de datos y la ubicación de almacenamiento. La base de datos se ve desde la perspectiva de un DBA. El concepto de diseño de Entity Model Studio para la base de datos es desde la perspectiva del desarrollador, destacando las partes que pueden procesarse y usarse directamente mediante codificación.

La característica más importante de la parte de generación de código es que Entity Model Studio genera código basado en el modelo de entidad, y otras herramientas generan código basado en plantillas o bases de datos. Además, Entity Model Studio viene con un marco ORM. Con este marco, el código generado puede proporcionar a los desarrolladores una interfaz de desarrollo de bases de datos orientada a objetos verdaderamente práctica y potente.

En comparación con otras herramientas de generación de código, no tienen un marco ORM de soporte, lo que afecta la implementación de funciones. Otra cosa que hay que destacar es que para desarrollar este ORM se implementó la tecnología Entity Query Language (EQL). El código generado y los marcos ORM se pueden utilizar en todo su potencial con la compatibilidad con EQL. La implementación de EQL se decidió y desarrolló finalmente en base a nuestra filosofía y posicionamiento.

En la actualidad, esta última versión todavía es V2.1, pero se revela que el desarrollo de la nueva versión está en progreso. La nueva versión es principalmente para mejorar el diseño de la base de datos. Habrá mejoras significativas en la interfaz y la facilidad de operación. Además, los cambios de diseño del modelo de entidad se reflejarán en el modelo de base de datos en tiempo real, de modo que los desarrolladores puedan conocer el estado del modelo de entidad y del modelo de datos en tiempo real.

Las herramientas son la mejor manera de mejorar la eficiencia

Una buena herramienta es extremadamente importante tanto para los desarrolladores como para todo el proyecto, de lo contrario no sería posible. Por eso mucha gente busca herramientas de gestión. que puedan optimizar su trabajo. Durante la entrevista con Liu Yu, aprendí: “El prototipo del producto Entity Model Studio surgió de una pequeña herramienta que desarrollé para mí en el trabajo real. La situación del proyecto en ese momento era que estaba planeado para que lo completaran tres personas. Después de cuatro meses, tuve que completar un pequeño software por varias razones, pero la carga de trabajo aumentó de 1 a 1,5 veces. Para asegurar el progreso, utilicé esta herramienta en el proyecto y la mejoré gradualmente. El proceso de desarrollo del proyecto finalmente tomó 7 meses para completar la tarea. A partir de esta situación real, la mejora de la eficiencia aportada por la herramienta no se puede calcular mediante una simple multiplicación y división. Esta herramienta es indispensable y la mejora de la eficiencia que aporta es muy obvia. De lo contrario, sería imposible completar estas tareas de desarrollo en 7 meses".

Hablemos de UML. No hace falta decir que se han introducido demasiados materiales y el estado de UML en sí es suficiente para explicar las ventajas de UML y su papel en el desarrollo. Sin embargo, en el trabajo real, el uso de UML a menudo permanece en el diseño y la tarea se completa expresando claramente una estructura o función del software. Por supuesto, esta parte del trabajo es muy importante y destacable, pero aún no es suficiente. Según el concepto y el posicionamiento del producto, UML se puede definir y adaptar más claramente, de modo que el diseño pueda influir mejor en el desarrollo. En la actualidad, Entity Model Studio se centra principalmente en modelos estáticos y esta parte refleja este concepto. Por ejemplo: el modelo de entidad y el diseño de la base de datos están perfectamente conectados. De esta manera, se obtienen dos modelos después de completar un diseño y el modelo de entidad determina la base de datos. El código se genera en función del modelo. Cuando el modelo cambia, el código también cambiará. Después de tener el código basado en el modelo, también se desarrolló EMLib, lo que una vez más facilita el desarrollo desde el nivel de codificación y mejora la eficiencia del desarrollo. De esta manera, el modelado y desarrollo UML en Entity Model Studio están estrechamente integrados, no solo diseñando, sino que también brindan un fuerte soporte para el desarrollo y la codificación en múltiples pasos. En comparación con otras herramientas de modelado, Entity Model Studio es mucho más considerado.

El ORM integrado proporciona a los desarrolladores una interfaz de base de datos completa orientada a objetos, que no solo completa el mapeo de objetos. Aunque EMLib se llama ORM, este framework fue desarrollado desde el principio con un posicionamiento más allá del concepto general de ORM. Su propósito es permitir que el código generado por Entity Model Studio se utilice verdaderamente en trabajos de desarrollo reales, al mismo tiempo que brinda a los programadores el mejor soporte posible desde la perspectiva de mejorar la eficiencia del desarrollo. Por lo tanto, este marco es significativamente diferente del marco ORM general en términos de funcionalidad.

Por ejemplo, este marco proporciona tanto ORM como formas tradicionales de operar la base de datos, pero EQL se puede utilizar de estas dos maneras diferentes.

Otro ejemplo son las operaciones relacionales mejoradas, las operaciones en cascada controladas en profundidad, las consultas de objetos globales, las operaciones de transacciones consistentes en la memoria y la base de datos, etc. Estas características no están disponibles en los marcos ORM generales. Estas características pueden mejorar la eficiencia del desarrollo y brindar conveniencia de codificación. Para obtener más información sobre este ORM, consulte esta publicación de blog: "Desarrollo de bases de datos orientadas a objetos: revisión de ORM"

Herramientas de desarrollo que han fallado muchas veces

Ideas A menudo hay diversas dificultades y obstáculos desde el comienzo de un proyecto hasta su posterior ejecución y primera perfección, y la experiencia adquirida a partir de ellos a menudo salvará a las generaciones futuras de tomar muchos desvíos. Incluso si tiene habilidades de desarrollo especializadas, a menudo se siente perdido cuando se trata de proyectos.

Entity Model Studio ha sido así desde el principio. En la entrevista se supo que la idea de iniciar investigación y desarrollo por primera vez surgió en 1998 y 1999. En ese momento, Se hizo de forma repetitiva cuatro veces y todas terminaron en fracaso. Como último recurso, el trabajo de desarrollo real sólo pudo detenerse aquí.

Desde entonces, con el desarrollo de diversas tecnologías, como UML, patrones de diseño, ORM, etc., mis ideas han mejorado constantemente con mi propia experiencia y las ideas iniciales han evolucionado lentamente. maduro. No fue hasta el 1 de enero de 2006 que comencé a escribir la primera línea de código nuevamente. Desde entonces, completé varias versiones experimentales. En 2009 comencé a formar un equipo y en 2012 lancé la primera versión práctica.

Al mismo tiempo, siempre hay un gran obstáculo en el proceso de desarrollo, que es el juicio. Este tipo de juicio suele ser tan común como una simple pregunta, pero la solución para la toma de decisiones es muy difícil. Por ejemplo, al desarrollar un diagrama de secuencia, ¿admite dicha función? Cuando se arrastra un mensaje, los mensajes asociados y las líneas de vida de los mensajes en el diagrama de secuencia se reposicionan automáticamente. Si esta función es compatible, será muy conveniente para los usuarios. Para las personas que siempre han usado productos de Microsoft, realmente debería implementarse. Pero, por otro lado, ninguno de los productos principales examinados, excepto el de Microsoft, ha implementado esta función, y es difícil implementarla. Entonces, cómo decidir si hacer algo o no en este momento es muy complicado. Las cuestiones deben considerarse en función de varios factores, como capacidades, riesgos, costos, etc.

Otro ejemplo es que para desarrollar EMLib, el equipo de desarrollo desarrolló de forma independiente una herramienta de prueba. El problema en ese momento era que había herramientas de prueba listas para usar (pero no eran ideales). Si desarrollarlo usted mismo requería una cantidad considerable de trabajo, ¿era necesario hacerlo cuando las principales tareas de desarrollo estaban apretadas? La decisión de desarrollo se tomó con gran vacilación y desgana en ese momento.

Afortunadamente, resulta que sin esta herramienta, la carga de trabajo de desarrollo general de EMLib aumentará más de diez veces o incluso docenas de veces. Por supuesto, hay otros ejemplos. Por ejemplo, la comprensión, reflexión y verificación de la metodología de desarrollo durante el proceso de desarrollo son muy tortuosas y desafiantes. Las soluciones a estos problemas a menudo se logran tratando de “iluminar la verdad” con evidencia. Por supuesto, a veces la suerte también es una de las razones.

En general, los problemas de dolor de cabeza deben ser problemas con un cierto grado de complejidad e incertidumbre. La clave para resolver estos problemas radica más en la comprensión y el análisis del problema que en la solución factible. que puede solucionar el problema. Porque intentar resolver un problema puede terminar con la comprensión de que el problema no se puede resolver. Este aspecto se puede discutir como un tema aparte. Si está interesado, puede consultar "Dieciocho años de intercambio de experiencias de desarrollo: Capítulo de aprendizaje".

Entity Model Studioamp; Entity Model Libamp; Entity Query Language

En el sitio web oficial, hemos visto la introducción de los tres productos Entity Model Studio, Entity Model Lib y Entity Query. Idioma respectivamente. y el sitio web también presenta algunas soluciones.

Por esta razón, invitamos especialmente al profesor Liu Yu para que nos diera una introducción clara:

Entity Model Studio es nuestro producto estrella, una herramienta de modelado y diseño. Entity Model Lib (EMLib) es un marco ORM que utiliza archivos modelo generados por Entity Model Studio para facilitar a los desarrolladores utilizar el código generado y completar las tareas de desarrollo. Es necesario enfatizar que EMLib no es solo un marco ORM, sino que proporciona a los desarrolladores una biblioteca de desarrollo de bases de datos orientada a objetos completa y poderosa. El valor de EMLib radica en permitir que los modelos estáticos diseñados por los desarrolladores se utilicen directamente en el desarrollo, en lugar de diagramas de modelos uno por uno, mejorando la eficiencia del desarrollo y la codificación.

El nombre oficial de Entity Query Language es Entity Query Language, o EQL para abreviar. Esta es una interfaz de desarrollo basada en el lenguaje host. Construye varios objetos de declaración Sql de manera programable para que EMLib pueda completar operaciones de bases de datos relacionadas. Es un complemento poderoso y necesario para EMLib. Una de las características de EQL es que se puede combinar con EMLib para completar operaciones ORM, o puede generar el texto Sql correspondiente a través de objetos de declaración y luego usarlo. Por lo tanto, también se puede utilizar independientemente del marco ORM. Además, el método programable elimina las deficiencias y problemas del método de empalme de cadenas para construir texto SQL y puede reflejar mejor las ventajas al construir condiciones. Estos también son aspectos que pueden mejorar la eficiencia de la codificación.

Las soluciones enumeradas en el sitio web son principalmente de tipo servicio técnico y soporte, e incluyen principalmente respuesta a preguntas en Entity Model Studio, capacitación en UML y servicios de subcontratación y diseño de software. Esto puede considerarse como el contenido de la parte de extensión del producto. Proporcionamos tutoriales o materiales para la capacitación, que también se pueden completar a través de la comunicación en línea. Si todas las condiciones lo permiten, también podemos brindar capacitación fuera de línea. El costo de aprendizaje de Entity Model Studio es muy bajo, casi nulo. La razón es que UML se ha simplificado y el conocimiento relevante utilizado es contenido que se encuentra a menudo en el desarrollo diario. Entonces usar Entity Model Studio es muy fácil.

Ya sean productos o servicios, WideUnion encarna su filosofía en todos los aspectos, desde el desarrollo hasta el aprendizaje (la reducción de los costos de aprendizaje también es una manifestación de su filosofía). La llamada mejora de la eficiencia y la premisa de brindar comodidad para el desarrollo son que la carga de trabajo de los programadores no puede aumentar (es posible un pequeño aumento), al menos no en proporciones iguales. Sobre esta base, el aumento de los ingresos es la mejora real de la eficiencia. En pocas palabras, significa hacer lo mismo y obtener más. Por tanto, el coste del aprendizaje, como forma de pago, es muy, muy digno de mención.