La estandarización de la aplicación se basa


Philip Brown presenta su columna y se describe cómo asegurarse de que sus aplicaciones se compilan correctamente.
la Normalización de la Aplicación Construye
Espero ser capaz de hacer de este un interesante y estimulante de la serie, explorar las muchas facetas de Delphi desarrollo. En primer lugar, permítanme presentarme. Soy un consultor y programador activo durante casi dos décadas, justo a tiempo para atrapar a la desaparición de la tarjeta perforada y heraldo de la llegada de acceso relativamente fácil y barato de la potencia de computación. Durante estos años he utilizado muchos idiomas y es mi creencia de que Delphi es el mejor Windows de uso general, de herramientas de desarrollo disponibles en la actualidad, con una excelente mezcla de potentes construcciones, interfaz de usuario y herramientas de apoyo para el fuerte desarrollo orientado a objetos técnicas.
No hay balas de plata
es una característica de nuestra industria que muchos de los vendedores tratan de vendernos la 'bala de plata' soluciones para el desarrollo de la aplicación. Estamos continuamente bombardeados con información de intentar convencernos de que si vamos a utilizar esta compañía de la herramienta, que middleware empresa o de la compañía de la base de datos, todos los temas relacionados con el desarrollo de la aplicación desaparecerá. Durante la noche, vamos a ser capaces de producir sistemas complejos en tiempo y dentro del presupuesto, incluso en la presencia de un diseño inadecuado de la documentación y el cambio de los requisitos del usuario. A través de los años lenguajes de alto nivel, ingeniería de software, metodologías estructuradas, 4GL, la orientación a objetos, cliente/servidor, middleware, de rápida aplicación y diseño de Java han sido promocionado por sus evangelistas como soluciones completas para el desarrollo de software - y la lista continúa. La amarga experiencia muestra que no hay ninguna solución mágica y es a nosotros, como diseñadores de aplicaciones y desarrolladores, para aceptar que, en un mundo donde los clientes tienen cada vez más altas expectativas por los siglos de los sistemas más complejos, debemos esforzamos continuamente para mejorar la calidad de nuestro trabajo. En estos días, algunas de las aplicaciones vivir en el aislamiento y debe interactuar con otros sistemas en formas complejas. El desarrollo de aplicaciones modernas es cada vez más difícil, en lugar de más fácil y lo que es incorrecto suponer que cualquier enfoque proporciona la respuesta.
Mi interés específico, que espero que explorar en esta y en futuras columnas, es promover el desarrollo de mejores aplicaciones Delphi. Suponga que dos de programación independiente de los equipos recibirán el mismo breve para desarrollar una aplicación de un completo documento de requerimientos de sistemas, y que en ambas se produce un error-un programa gratuito (nota que ya estamos en los reinos de desarrollo de software de la fantasía). Pueden dos, pero funcionalmente idénticos programas separados en términos de calidad? ¿Qué hace que una aplicación sea mejor que otra?
En la práctica, cada decisión tomada durante el desarrollo tendrá un impacto en la calidad del programa. La interfaz de usuario de decisiones que afectarán a la forma amigable para el usuario (u hostil) el programa. Al parecer las cosas simples como botones con funciones similares con el mismo nombre en toda la aplicación puede tener un impacto fundamental en la facilidad con que los usuarios se familiaricen la operación del programa. La elección de la base de datos, facilidad de instalación, compatibilidad con otras aplicaciones, incluso el diseño de código dentro de las unidades y las convenciones de nomenclatura (o la ausencia de ellos) pueden tener un impacto significativo o de la percepción o medibles concepto de cómo de buena es una aplicación. Los desarrolladores y los usuarios se forman opiniones en cuanto a la calidad relativa de una determinada aplicación, sin necesariamente ser capaz de determinar o justificar por qué se han tomado este punto de vista. La evaluación de la calidad de un programa que abarca prácticamente todos los aspectos y la implementación de la decisión tomada, y el objetivo de este artículo es presentar y discutir las maneras por las cuales la calidad de los sistemas puede ser significativamente mayor. Esto se aplica a conceptos tales como la interfaz de usuario de estilo, entrada y validación de datos, almacenamiento persistente de información, y una gran cantidad de tiempo que será dedicado a discutir la arquitectura del programa.
los Estudios han demostrado que la mayor contribución durante los últimos veinte años hacia el aumento de la calidad de los programas es el concepto de ocultar datos. La orientación a objetos es la expresión más pura hasta el momento de este concepto y esta columna para promover la buena OO técnicas de todo. Vamos a explorar la construcción de verdaderamente orientado a objetos de sistemas y demostrar la forma en que llevan a las aplicaciones que son significativamente más rápido para desarrollar y fácil de mantener. A lo largo de la manera de reto aceptado de una manera de escribir Delphi programas y demostrar por qué enfoques alternativos son a menudo mejor.
Consistencia es el rey
Si hay una única forma de evaluar la calidad de un programa, mi definición sería '¿Es coherente?' La consistencia se puede aplicar a prácticamente todos los aspectos de un programa, y en casi todos los casos es mejor ser más consistente que menos. En consonancia con qué? Bueno, depende de lo que se evalúa. Considere la posibilidad de la interfaz de usuario: tiene cada forma de aparecer la pantalla centrada en la persona, o de algunos de la izquierda en el momento del diseño de las coordenadas? Son todos los botones del mismo tamaño y aparecen sistemáticamente en un plano horizontal o vertical? Es cada botón 'ACEPTAR' establecer como predeterminado para el formulario (y cualquier etiqueta 'Ok')? Hacer todas las formas de responder correctamente cuando el usuario los cambios de las preferencias de Windows para el tamaño de la fuente y los esquemas de color? Para el caso, la aplicación es la que parecen y se comportan como otras aplicaciones de Windows? Son iconos de la barra de la misma como los de otras aplicaciones que realizan una función similar? ¿Tienen todos una descripción? Son similares los componentes utilizados para la misma función en la aplicación o es una ecléctica mezcla de cuadros de edición, masked edit, calendarios y selector de fecha y hora de los controles utilizados para el usuario de entrada de fechas?
Un conjunto similar de preguntas pueden ser dirigidas a todos los otros aspectos del sistema. Hacer todas las tablas y campos similares convenciones de nomenclatura? Es el código fuente de la sangría estándar de la misma en cada unidad? En todo caso, es preferible que estos factores a ser similares a lo largo de la aplicación. Importa mucho menos exactamente a qué normas han sido elegidos, siempre y cuando lo estándar es seleccionada es ubicuo (aunque a menudo hay opciones mejores que otros, y estos serán discutidos).
Automatizar Construye

Una pequeña, pero muy importante, factor determinante en la consideración de la consistencia es lo que garantiza que siempre ofrecer el mismo producto a sus clientes (con nuevas características intactas y algunos bugs eliminados, esperemos). Fundamental para este proceso es el concepto de una generación. Esta se define como la preparación de todos los resultados a un estado conocido antes de su envío a un cliente. Para la más trivial de las aplicaciones de la entrega podría ser un único archivo ejecutable, pero para los más significativos de los sistemas de acumulación puede incluir una serie de ejecutables, bibliotecas de vínculos dinámicos, archivo de ayuda, archivos de recursos, información de configuración de tablas de base de datos y así sucesivamente. ¿Cómo podemos asegurar que todos estos archivos se crean correctamente en cada generación, de modo que todos los cambios realizados desde la última construcción se reflejan adecuadamente? Simplemente carga la aplicación en Delphi y obligando a una construcción de Todos no garantiza que usted siempre va a entregar una aplicación adecuada suite.
teniendo en cuenta sólo la situación de Delphi ejecutables, compilador de la configuración puede haber cambiado desde la última vez que hizo una versión de su cliente. Si usted se olvida de cambiar los ajustes de la espalda (tales como la desactivación de los símbolos de depuración), que entregará una manera fundamentalmente diferente de la aplicación. A veces esto no importa, pero si su aplicación depende de un determinado tamaño de la pila o de la optimización de la opción funcione correctamente, a continuación, pueden surgir problemas importantes.
Todas las aplicaciones para su divulgación pública debe tener documentado un proceso de construcción, de preferencia uno que es completamente automatizado. El tamaño de la aplicación y el número de archivos que se produce va a dictar la complejidad de este proceso para aplicaciones simples de un simple archivo por lotes puede ser todo lo que se requiere, pero en situaciones extremas, un entorno dedicado, puede ser necesario disponer de (el proceso de compilación para Windows NT utiliza para tomar la mejor parte del día en un quad-procesador de la máquina).
En el Delphi mundo hay un número de opciones para automatizar la mayoría de procesos de compilación: un archivo de proceso por lotes (DOS o secuencia de Comandos de Windows) que llama a la Delphi compilador de línea de comandos, usando un 'hacer' de la utilidad o una aplicación personalizada dedicada a la construcción de un conjunto de resultados.
Inprise proporcionar una versión de la venerable 'hacer' utilidad con Delphi. 'Hacer' de las utilidades de operar a partir de un archivo de texto que describe los archivos de origen en el que un objetivo depende, y el comando(s) necesarios para compilar. En los primeros días de programación en C, el uso de 'hacer' los servicios públicos fue fundamental en la mejora de la calidad de las aplicaciones publicadas. Sin embargo, uno de los principales beneficios de 'hacer' fue que proporcionó una manera de describir la interdependencia de los archivos fuente de C, algo que el Delphi (Pascal) 'usos' de la cláusula hacer muy bien. Por lo tanto, el aprendizaje de algo arcano de la sintaxis de los archivos en los que 'hacen' dependen tiene menos beneficios para los programadores de Delphi.
Para muchos sistemas escrita en Delphi, un solo archivo por lotes será suficiente para un proceso de construcción. Este archivo de proceso por lotes se contienen todos los comandos necesarios para asegurar que el sistema completo se compila. Este debe contener no sólo los comandos para compilar archivos de recursos y proyectos Delphi, sino también para garantizar que el control de versión de la base de datos completa (está utilizando el control de código fuente, no?)
la Figura 1 se muestra un ejemplo de DOS de secuencia de comandos por lotes para la compilación de un proyecto en particular, que muestra algunos de los tipos de entradas típicas en un proceso de construcción. La primera parte de la secuencia de comandos se asegura de que todo el código fuente de las unidades de comprobar de nuevo en la versión de la base de datos de control - un momento clave para prevenir la compilación de un proyecto, mientras que los desarrolladores no han hecho sus cambios disponibles en todo el mundo. El sistema de control de versión que se muestra aquí es SourceSafe, pero prácticamente todos los de grado comercial de sistemas puede ser impulsado desde la línea de comandos.
Después de asegurarse de que todos los archivos han sido registrados en el código fuente del sistema, el código fuente completo se recupera y se almacena en un nuevo árbol de directorios de la máquina que realiza la compilación. Obviamente, para construir la versión más reciente del programa de todos los archivos más recientes son necesarios. Un punto interesante aquí es que se recomienda que, si la máquina que realiza la construcción es también un promotor de la estación de trabajo, un diferentes árbol de directorios se utiliza para mantener el código fuente en lugar de la utilizada por el desarrollador. La razón de esto es que la construcción se suele compilar la aplicación con ninguna depuración de la información y de la mayoría de las optimizaciones. Si la ruta de acceso del directorio fueron compartidos con el entorno de desarrollo, a continuación, el programador necesita recordar para emitir una construcción de Todos para evitar la vinculación en las unidades que sería difícil de depurar.
de Haber obtenido todos los de la ultima versión del código fuente, la aplicación de la(s) debe entonces ser compilado. Para Delphi proyectos de la versión de línea de comandos del compilador (que se encuentra en el Delphi directorio bin) llamado dcc32 debe ser utilizado. Esta versión del compilador reconoce muchos de los parámetros para permitir control total desde la línea de comandos. Alternativamente, un conjunto de opciones del compilador puede ser controlado desde un archivo de configuración (.CFG) con el mismo nombre que el proyecto en sí, que es a menudo más visibles en la forma de controlar la compilación. Tenga en cuenta que Delphi 5 sobrescribe este archivo desde el entorno de desarrollo, otra buena razón para mantener la acumulación de directorio de origen, diferente de aquel para el desarrollo. Es especialmente útil bandera (-E) para dcc32 que se traslada el archivo de destino a un nuevo directorio, normalmente, apuntando a un nuevo directorio que contendrá sólo los archivos compilados que constituyen la construcción.
por supuesto, muchos sistemas se componen de archivos adicionales, tales como los archivos de recursos, archivos de ayuda y así sucesivamente. Usted puede usar cualquiera de herramientas de línea de comandos son apropiados para compilar los archivos de destino de nuevo, Delphi proporciona un compilador de línea de comandos para archivos de recursos en brcc32.
UNA de DOS o archivo por lotes de Windows Script puede ser adecuada para los sistemas más pequeños, pero más complejos que requieren de una lógica compleja y de control pueden beneficiarse de tener su propio proceso de generación escrito como una aplicación personalizada. Tales aplicaciones pueden shell de la línea de comandos versiones de herramientas del compilador, pero a menudo conducen a ellos a través de una interfaz COM que ofrece más flexibilidad y control. En cualquier caso, el concepto del proceso de compilación es el mismo - para garantizar que todos los archivos de destino están compilados en un conocido y estado coherente. Usted puede construir cualquiera de las medidas que usted desea en su proceso de construcción - como la de notificar el desarrollo o equipo de control de calidad por correo electrónico que la compilación tuvo éxito y que una nueva suite de aplicaciones está listo para la prueba o de la entrega.
es una buena política para realizar una generación a conocido a intervalos regulares. Saber cuando una generación se debe permite al equipo de desarrollo para trabajar hacia ese objetivo y asegurar que un conjunto consistente de unidades que se registró en el control de versión de la suite. A menos que su proceso de construcción se lleva tanto tiempo que sería inapropiado, es una buena regla para prevenir cualquier tipo de trabajo en la aplicación hasta que se complete la compilación. Después de la construcción se ha terminado, es habitual exigir a todos los desarrolladores para obtener la versión más reciente de todas las unidades para asegurarse de que no funciona a partir de la fecha de código fuente. El concepto detrás de una generación que no forma parte del desarrollo y el proceso de pruebas: todas las versiones se espera que para compilar correctamente sin errores, y generalmente sin advertencias. 'Romper la generación' mediante la presentación de cambios en el código que luego causan el error de proceso de generación debe ser considerada como un crimen atroz a ser corregido en la primera oportunidad.
Todas las aplicaciones escritas para la versión general debe tener su propio proceso de generación automática, lo que garantiza que un conjunto coherente de resultados se prepara cada vez que un release. El próximo mes, vamos a ver las características de valor agregado que se pueden poner en el proceso de construcción para facilitar el seguimiento de las muchas versiones de los programas de co-existente 'en la naturaleza'.
Figura 1 - Ejemplo de DOS de secuencia de comandos por Lotes para construir un solo ejecutable y el archivo de recursos
Figura 2 - Ejemplo .CFG archivo de control de aplicación Delphi compilación
el Siguiente en la serie









La estandarizacion de la aplicacion se basa


La estandarizacion de la aplicacion se basa : Multi-millones de consejos para hacer su vida mas facil.


Philip Brown presenta su columna y se describe como asegurarse de que sus aplicaciones se compilan correctamente.
la Normalizacion de la Aplicacion Construye
Espero ser capaz de hacer de este un interesante y estimulante de la serie, explorar las muchas facetas de Delphi desarrollo. En primer lugar, permitanme presentarme. Soy un consultor y programador activo durante casi dos decadas, justo a tiempo para atrapar a la desaparicion de la tarjeta perforada y heraldo de la llegada de acceso relativamente facil y barato de la potencia de computacion. Durante estos años he utilizado muchos idiomas y es mi creencia de que Delphi es el mejor Windows de uso general, de herramientas de desarrollo disponibles en la actualidad, con una excelente mezcla de potentes construcciones, interfaz de usuario y herramientas de apoyo para el fuerte desarrollo orientado a objetos tecnicas.
No hay balas de plata
es una caracteristica de nuestra industria que muchos de los vendedores tratan de vendernos la 'bala de plata' soluciones para el desarrollo de la aplicacion. Estamos continuamente bombardeados con informacion de intentar convencernos de que si vamos a utilizar esta compañia de la herramienta, que middleware empresa o de la compañia de la base de datos, todos los temas relacionados con el desarrollo de la aplicacion desaparecera. Durante la noche, vamos a ser capaces de producir sistemas complejos en tiempo y dentro del presupuesto, incluso en la presencia de un diseño inadecuado de la documentacion y el cambio de los requisitos del usuario. A traves de los años lenguajes de alto nivel, ingenieria de software, metodologias estructuradas, 4GL, la orientacion a objetos, cliente/servidor, middleware, de rapida aplicacion y diseño de Java han sido promocionado por sus evangelistas como soluciones completas para el desarrollo de software - y la lista continua. La amarga experiencia muestra que no hay ninguna solucion magica y es a nosotros, como diseñadores de aplicaciones y desarrolladores, para aceptar que, en un mundo donde los clientes tienen cada vez mas altas expectativas por los siglos de los sistemas mas complejos, debemos esforzamos continuamente para mejorar la calidad de nuestro trabajo. En estos dias, algunas de las aplicaciones vivir en el aislamiento y debe interactuar con otros sistemas en formas complejas. El desarrollo de aplicaciones modernas es cada vez mas dificil, en lugar de mas facil y lo que es incorrecto suponer que cualquier enfoque proporciona la respuesta.
Mi interes especifico, que espero que explorar en esta y en futuras columnas, es promover el desarrollo de mejores aplicaciones Delphi. Suponga que dos de programacion independiente de los equipos recibiran el mismo breve para desarrollar una aplicacion de un completo documento de requerimientos de sistemas, y que en ambas se produce un error-un programa gratuito (nota que ya estamos en los reinos de desarrollo de software de la fantasia). Pueden dos, pero funcionalmente identicos programas separados en terminos de calidad? ¿Que hace que una aplicacion sea mejor que otra?
En la practica, cada decision tomada durante el desarrollo tendra un impacto en la calidad del programa. La interfaz de usuario de decisiones que afectaran a la forma amigable para el usuario (u hostil) el programa. Al parecer las cosas simples como botones con funciones similares con el mismo nombre en toda la aplicacion puede tener un impacto fundamental en la facilidad con que los usuarios se familiaricen la operacion del programa. La eleccion de la base de datos, facilidad de instalacion, compatibilidad con otras aplicaciones, incluso el diseño de codigo dentro de las unidades y las convenciones de nomenclatura (o la ausencia de ellos) pueden tener un impacto significativo o de la percepcion o medibles concepto de como de buena es una aplicacion. Los desarrolladores y los usuarios se forman opiniones en cuanto a la calidad relativa de una determinada aplicacion, sin necesariamente ser capaz de determinar o justificar por que se han tomado este punto de vista. La evaluacion de la calidad de un programa que abarca practicamente todos los aspectos y la implementacion de la decision tomada, y el objetivo de este articulo es presentar y discutir las maneras por las cuales la calidad de los sistemas puede ser significativamente mayor. Esto se aplica a conceptos tales como la interfaz de usuario de estilo, entrada y validacion de datos, almacenamiento persistente de informacion, y una gran cantidad de tiempo que sera dedicado a discutir la arquitectura del programa.
los Estudios han demostrado que la mayor contribucion durante los ultimos veinte años hacia el aumento de la calidad de los programas es el concepto de ocultar datos. La orientacion a objetos es la expresion mas pura hasta el momento de este concepto y esta columna para promover la buena OO tecnicas de todo. Vamos a explorar la construccion de verdaderamente orientado a objetos de sistemas y demostrar la forma en que llevan a las aplicaciones que son significativamente mas rapido para desarrollar y facil de mantener. A lo largo de la manera de reto aceptado de una manera de escribir Delphi programas y demostrar por que enfoques alternativos son a menudo mejor.
Consistencia es el rey
Si hay una unica forma de evaluar la calidad de un programa, mi definicion seria '¿Es coherente?' La consistencia se puede aplicar a practicamente todos los aspectos de un programa, y en casi todos los casos es mejor ser mas consistente que menos. En consonancia con que? Bueno, depende de lo que se evalua. Considere la posibilidad de la interfaz de usuario: tiene cada forma de aparecer la pantalla centrada en la persona, o de algunos de la izquierda en el momento del diseño de las coordenadas? Son todos los botones del mismo tamaño y aparecen sistematicamente en un plano horizontal o vertical? Es cada boton 'ACEPTAR' establecer como predeterminado para el formulario (y cualquier etiqueta 'Ok')? Hacer todas las formas de responder correctamente cuando el usuario los cambios de las preferencias de Windows para el tamaño de la fuente y los esquemas de color? Para el caso, la aplicacion es la que parecen y se comportan como otras aplicaciones de Windows? Son iconos de la barra de la misma como los de otras aplicaciones que realizan una funcion similar? ¿Tienen todos una descripcion? Son similares los componentes utilizados para la misma funcion en la aplicacion o es una eclectica mezcla de cuadros de edicion, masked edit, calendarios y selector de fecha y hora de los controles utilizados para el usuario de entrada de fechas?
Un conjunto similar de preguntas pueden ser dirigidas a todos los otros aspectos del sistema. Hacer todas las tablas y campos similares convenciones de nomenclatura? Es el codigo fuente de la sangria estandar de la misma en cada unidad? En todo caso, es preferible que estos factores a ser similares a lo largo de la aplicacion. Importa mucho menos exactamente a que normas han sido elegidos, siempre y cuando lo estandar es seleccionada es ubicuo (aunque a menudo hay opciones mejores que otros, y estos seran discutidos).
Automatizar Construye

Una pequeña, pero muy importante, factor determinante en la consideracion de la consistencia es lo que garantiza que siempre ofrecer el mismo producto a sus clientes (con nuevas caracteristicas intactas y algunos bugs eliminados, esperemos). Fundamental para este proceso es el concepto de una generacion. Esta se define como la preparacion de todos los resultados a un estado conocido antes de su envio a un cliente. Para la mas trivial de las aplicaciones de la entrega podria ser un unico archivo ejecutable, pero para los mas significativos de los sistemas de acumulacion puede incluir una serie de ejecutables, bibliotecas de vinculos dinamicos, archivo de ayuda, archivos de recursos, informacion de configuracion de tablas de base de datos y asi sucesivamente. ¿Como podemos asegurar que todos estos archivos se crean correctamente en cada generacion, de modo que todos los cambios realizados desde la ultima construccion se reflejan adecuadamente? Simplemente carga la aplicacion en Delphi y obligando a una construccion de Todos no garantiza que usted siempre va a entregar una aplicacion adecuada suite.
teniendo en cuenta solo la situacion de Delphi ejecutables, compilador de la configuracion puede haber cambiado desde la ultima vez que hizo una version de su cliente. Si usted se olvida de cambiar los ajustes de la espalda (tales como la desactivacion de los simbolos de depuracion), que entregara una manera fundamentalmente diferente de la aplicacion. A veces esto no importa, pero si su aplicacion depende de un determinado tamaño de la pila o de la optimizacion de la opcion funcione correctamente, a continuacion, pueden surgir problemas importantes.
Todas las aplicaciones para su divulgacion publica debe tener documentado un proceso de construccion, de preferencia uno que es completamente automatizado. El tamaño de la aplicacion y el numero de archivos que se produce va a dictar la complejidad de este proceso para aplicaciones simples de un simple archivo por lotes puede ser todo lo que se requiere, pero en situaciones extremas, un entorno dedicado, puede ser necesario disponer de (el proceso de compilacion para Windows NT utiliza para tomar la mejor parte del dia en un quad-procesador de la maquina).
En el Delphi mundo hay un numero de opciones para automatizar la mayoria de procesos de compilacion: un archivo de proceso por lotes (DOS o secuencia de Comandos de Windows) que llama a la Delphi compilador de linea de comandos, usando un 'hacer' de la utilidad o una aplicacion personalizada dedicada a la construccion de un conjunto de resultados.
Inprise proporcionar una version de la venerable 'hacer' utilidad con Delphi. 'Hacer' de las utilidades de operar a partir de un archivo de texto que describe los archivos de origen en el que un objetivo depende, y el comando(s) necesarios para compilar. En los primeros dias de programacion en C, el uso de 'hacer' los servicios publicos fue fundamental en la mejora de la calidad de las aplicaciones publicadas. Sin embargo, uno de los principales beneficios de 'hacer' fue que proporciono una manera de describir la interdependencia de los archivos fuente de C, algo que el Delphi (Pascal) 'usos' de la clausula hacer muy bien. Por lo tanto, el aprendizaje de algo arcano de la sintaxis de los archivos en los que 'hacen' dependen tiene menos beneficios para los programadores de Delphi.
Para muchos sistemas escrita en Delphi, un solo archivo por lotes sera suficiente para un proceso de construccion. Este archivo de proceso por lotes se contienen todos los comandos necesarios para asegurar que el sistema completo se compila. Este debe contener no solo los comandos para compilar archivos de recursos y proyectos Delphi, sino tambien para garantizar que el control de version de la base de datos completa (esta utilizando el control de codigo fuente, no?)
la Figura 1 se muestra un ejemplo de DOS de secuencia de comandos por lotes para la compilacion de un proyecto en particular, que muestra algunos de los tipos de entradas tipicas en un proceso de construccion. La primera parte de la secuencia de comandos se asegura de que todo el codigo fuente de las unidades de comprobar de nuevo en la version de la base de datos de control - un momento clave para prevenir la compilacion de un proyecto, mientras que los desarrolladores no han hecho sus cambios disponibles en todo el mundo. El sistema de control de version que se muestra aqui es SourceSafe, pero practicamente todos los de grado comercial de sistemas puede ser impulsado desde la linea de comandos.
Despues de asegurarse de que todos los archivos han sido registrados en el codigo fuente del sistema, el codigo fuente completo se recupera y se almacena en un nuevo arbol de directorios de la maquina que realiza la compilacion. Obviamente, para construir la version mas reciente del programa de todos los archivos mas recientes son necesarios. Un punto interesante aqui es que se recomienda que, si la maquina que realiza la construccion es tambien un promotor de la estacion de trabajo, un diferentes arbol de directorios se utiliza para mantener el codigo fuente en lugar de la utilizada por el desarrollador. La razon de esto es que la construccion se suele compilar la aplicacion con ninguna depuracion de la informacion y de la mayoria de las optimizaciones. Si la ruta de acceso del directorio fueron compartidos con el entorno de desarrollo, a continuacion, el programador necesita recordar para emitir una construccion de Todos para evitar la vinculacion en las unidades que seria dificil de depurar.
de Haber obtenido todos los de la ultima version del codigo fuente, la aplicacion de la(s) debe entonces ser compilado. Para Delphi proyectos de la version de linea de comandos del compilador (que se encuentra en el Delphi directorio bin) llamado dcc32 debe ser utilizado. Esta version del compilador reconoce muchos de los parametros para permitir control total desde la linea de comandos. Alternativamente, un conjunto de opciones del compilador puede ser controlado desde un archivo de configuracion (.CFG) con el mismo nombre que el proyecto en si, que es a menudo mas visibles en la forma de controlar la compilacion. Tenga en cuenta que Delphi 5 sobrescribe este archivo desde el entorno de desarrollo, otra buena razon para mantener la acumulacion de directorio de origen, diferente de aquel para el desarrollo. Es especialmente util bandera (-E) para dcc32 que se traslada el archivo de destino a un nuevo directorio, normalmente, apuntando a un nuevo directorio que contendra solo los archivos compilados que constituyen la construccion.
por supuesto, muchos sistemas se componen de archivos adicionales, tales como los archivos de recursos, archivos de ayuda y asi sucesivamente. Usted puede usar cualquiera de herramientas de linea de comandos son apropiados para compilar los archivos de destino de nuevo, Delphi proporciona un compilador de linea de comandos para archivos de recursos en brcc32.
UNA de DOS o archivo por lotes de Windows Script puede ser adecuada para los sistemas mas pequeños, pero mas complejos que requieren de una logica compleja y de control pueden beneficiarse de tener su propio proceso de generacion escrito como una aplicacion personalizada. Tales aplicaciones pueden shell de la linea de comandos versiones de herramientas del compilador, pero a menudo conducen a ellos a traves de una interfaz COM que ofrece mas flexibilidad y control. En cualquier caso, el concepto del proceso de compilacion es el mismo - para garantizar que todos los archivos de destino estan compilados en un conocido y estado coherente. Usted puede construir cualquiera de las medidas que usted desea en su proceso de construccion - como la de notificar el desarrollo o equipo de control de calidad por correo electronico que la compilacion tuvo exito y que una nueva suite de aplicaciones esta listo para la prueba o de la entrega.
es una buena politica para realizar una generacion a conocido a intervalos regulares. Saber cuando una generacion se debe permite al equipo de desarrollo para trabajar hacia ese objetivo y asegurar que un conjunto consistente de unidades que se registro en el control de version de la suite. A menos que su proceso de construccion se lleva tanto tiempo que seria inapropiado, es una buena regla para prevenir cualquier tipo de trabajo en la aplicacion hasta que se complete la compilacion. Despues de la construccion se ha terminado, es habitual exigir a todos los desarrolladores para obtener la version mas reciente de todas las unidades para asegurarse de que no funciona a partir de la fecha de codigo fuente. El concepto detras de una generacion que no forma parte del desarrollo y el proceso de pruebas: todas las versiones se espera que para compilar correctamente sin errores, y generalmente sin advertencias. 'Romper la generacion' mediante la presentacion de cambios en el codigo que luego causan el error de proceso de generacion debe ser considerada como un crimen atroz a ser corregido en la primera oportunidad.
Todas las aplicaciones escritas para la version general debe tener su propio proceso de generacion automatica, lo que garantiza que un conjunto coherente de resultados se prepara cada vez que un release. El proximo mes, vamos a ver las caracteristicas de valor agregado que se pueden poner en el proceso de construccion para facilitar el seguimiento de las muchas versiones de los programas de co-existente 'en la naturaleza'.
Figura 1 - Ejemplo de DOS de secuencia de comandos por Lotes para construir un solo ejecutable y el archivo de recursos
Figura 2 - Ejemplo .CFG archivo de control de aplicacion Delphi compilacion
el Siguiente en la serie


La estandarización de la aplicación se basa

La estandarización de la aplicación se basa : Multi-millones de consejos para hacer su vida más fácil.
Recommander aux amis
  • gplus
  • pinterest

Comentario

Dejar un comentario

Clasificación