Exemple #1
0
        /// <summary>
        /// Metodo: se encarga de procesar el procesamiento de los archivos
        /// </summary>
        /// <returns>Cadena con la tabla de resultados para presentar al usuario</returns>
        public static String ProcesarSalida()
        {
            Archivo a;

            String Respuesta             = String.Empty;
            int    ContadorMetodos       = 0;
            int    ContadorComentarios   = 0;
            int    ContadorLineasBlancas = 0;
            int    ContadorLineas        = 0;

            Respuesta += String.Format("| {0,30} | {1,15} | {2,15} | {3,15} | {4,15} |\n", "Nombre", "Metodos", "Comentarios", "LineasBlancas", "Lineas");

            for (int x = 0; x < ControlAplicacion.getInstancia().ColeccionArchivos.Size(); x++)
            {
                a = (Archivo)ControlAplicacion.getInstancia().ColeccionArchivos.Elemento(x);

                if (a != null)
                {
                    Respuesta += String.Format("| {0,30} | {1,15} | {2,15} | {3,15} | {4,15} |\n", a.Nombre, a.ContadorMetodos, a.ContadorComentarios, a.ContadorLineasBlancas, a.ContadorLineas);

                    ContadorMetodos       += a.ContadorMetodos;
                    ContadorComentarios   += a.ContadorComentarios;
                    ContadorLineasBlancas += a.ContadorLineasBlancas;
                    ContadorLineas        += a.ContadorLineas;
                }
            }

            Respuesta += String.Format("| {0,30} | {1,15} | {2,15} | {3,15} | {4,15} |\n", ControlAplicacion.getInstancia().ColeccionArchivos.Size(), ContadorMetodos, ContadorComentarios, ContadorLineasBlancas, ContadorLineas);

            return(Respuesta);
        }
Exemple #2
0
        /// <summary>
        /// Metodo: Encargado de buscar los archivos a ser procesados
        /// </summary>
        /// <param name="RutaDirectorio">Ruta del directorio donde se encuentra el codigo fuente</param>
        /// <param name="LenguajeProgramacion">Lenguaje de programación que se usara. Inicialmente solo disponible C#</param>
        /// <returns>Retorna la tabla con los calculos realizados</returns>
        public static String CalcularMetricas(String RutaDirectorio, String LenguajeProgramacion)
        {
            Estandar      EstandarActivo;
            DirectoryInfo Directorio;

            if (!Directory.Exists(RutaDirectorio))
            {
                throw new Exception("Directorio no existe.");
            }

            Directorio = new DirectoryInfo(RutaDirectorio);

            EstandarActivo = (Estandar)ControlAplicacion.getInstancia().ColeccionEstandar.BuscarPorNombre(LenguajeProgramacion);

            if (EstandarActivo == null)
            {
                throw new Exception("Lenguaje no soportado.");
            }

            Archivo a;

            foreach (String Ext in EstandarActivo.Extensiones)
            {
                foreach (FileInfo Archivo in Directorio.GetFiles(Ext, SearchOption.AllDirectories))
                {
                    a = new Archivo();

                    a.Nombre = Archivo.Name;

                    CuentaLineasCodigo(a, Archivo, EstandarActivo);

                    ControlAplicacion.getInstancia().ColeccionArchivos.Agregar(a);
                }
            }

            return(ControlGui.ProcesarSalida());
        }