/// <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); }
/// <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()); }