Si utilizan Visual Studio al darle control + k + d, el IDE formatea el archivo.
Introducción
Presentación
Prerrequisitos
Terminología: Buenas prácticas, refactoring, código limpio, deuda técnica
Descarga y análisis del proyecto a trabajar
Principios del código limpio
Nombramiento
Code Smells
Principio DRY
Principio KISS
Usando try catch
Mejoras en C# y comentarios
Evolución de C#
Interpolación de cadenas, inicializador de propiedades y operador condicional null
Implementando minimalismo
Uso de comentarios
Cierre
Resumen y cierre del curso
No tienes acceso a esta clase
¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera
Miguel Teheran
Aportes 15
Preguntas 6
Si utilizan Visual Studio al darle control + k + d, el IDE formatea el archivo.
Me encanto ese truco de <ImplicitUsings>enable</ImplicitUsings>
Hola Comunidad !
A mi me sirvio el shortcut:
Presiona las teclas Ctrl + K seguido de Ctrl + F
En Windosws VCS
Si al eliminar la estructura de namespace y using “referencias en el proyecto” y estan dentro de visual studio code se debe tener instalado la extensión de C# en este.
Lo del XML es esencial para optimizar el codigo y poder trabajar bien las versiones de .NET,
Así queda mi código.
List<string> TaskList = new List<string>();
int menuSelected = 0;
do
{
menuSelected = ShowMainMenu();
if ((Menu)menuSelected == Menu.Add)
{
ShowMenuAdd();
}
else if ((Menu)menuSelected == Menu.Remove)
{
ShowMenuRemove();
}
else if ((Menu)menuSelected == Menu.List)
{
ShowMenuTaskList();
}
} while ((Menu)menuSelected != Menu.Exit);
/// <summary>
/// Show the main menu
/// </summary>
/// <returns>Returns option indicated by user</returns>
static int ShowMainMenu()
{
Console.WriteLine("----------------------------------------");
Console.WriteLine("Ingrese la opción a realizar: ");
Console.WriteLine("1. Nueva tarea");
Console.WriteLine("2. Remover tarea");
Console.WriteLine("3. Tareas pendientes");
Console.WriteLine("4. Salir");
// Read line
string line = Console.ReadLine();
return Convert.ToInt32(line);
}
void ShowMenuRemove()
{
try
{
Console.WriteLine("Ingrese el número de la tarea a remover: ");
// Show current taks
ShowTaskList();
string line = Console.ReadLine();
// Remove one position
int indexToRemove = Convert.ToInt32(line) - 1;
if ((indexToRemove > TaskList.Count -1) || (indexToRemove > 0))
{
Console.WriteLine("Numero de tarea seleccionado no es valido");
}
else{
if ((indexToRemove > -1) && (TaskList.Count > 0))
{
string task = TaskList[indexToRemove];
TaskList.RemoveAt(indexToRemove);
Console.WriteLine("Tarea " + task + " eliminada");
}
}
}
catch (Exception ex)
{
Console.WriteLine("Ha ocurrido un error al eliminar la tarea");
}
}
void ShowMenuAdd()
{
try
{
Console.WriteLine("Ingrese el nombre de la tarea: ");
string task = Console.ReadLine();
if(string.IsNullOrEmpty(task) == true)
{
Console.WriteLine("Las tareas no pueden tener campos vacíos");
}
else{
TaskList.Add(task);
Console.WriteLine("Tarea registrada");
}
}
catch (Exception ex)
{
Console.WriteLine("Ha ocurrido un error al registrar la tarea");
}
}
void ShowMenuTaskList()
{
if (TaskList?.Count > 0)
{
ShowTaskList();
}
else
{
Console.WriteLine("No hay tareas por realizar");
}
}
void ShowTaskList()
{
Console.WriteLine("----------------------------------------");
var indexTask = 1;
TaskList.ForEach(task => Console.WriteLine($"{indexTask++} . {task}"));
Console.WriteLine("----------------------------------------");
}
public enum Menu
{
Add = 1,
Remove = 2,
List = 3,
Exit = 4
}
Código actualizado:
List<string> TaskList = new List<string>();
int menuOption = 0;
do
{
menuOption = ShowMainMenu();
if ((Menu)menuOption == Menu.Add)
{
AddTask();
}
else if ((Menu)menuOption == Menu.Remove)
{
RemoveTask();
}
else if ((Menu)menuOption == Menu.List)
{
ShowTaskList();
}
} while ((Menu)menuOption != Menu.Exit);
/// <summary>
/// Show the main menu
/// </summary>
/// <returns>Returns menuOption indicated by user</returns>
int ShowMainMenu()
{
Console.WriteLine("----------------------------------------");
Console.WriteLine("Ingrese la opción a realizar: ");
Console.WriteLine("1. Nueva tarea");
Console.WriteLine("2. Remover tarea");
Console.WriteLine("3. Tareas pendientes");
Console.WriteLine("4. Salir");
// Read taskIndex
string taskIndex = Console.ReadLine();
return Convert.ToInt32(taskIndex);
}
void RemoveTask()
{
try
{
Console.WriteLine("Ingrese el número de la tarea a remover: ");
// Show current taks
ListTasks();
string taskIndex = Console.ReadLine();
// Remove one position
int indexToRemove = Convert.ToInt32(taskIndex) - 1;
if (indexToRemove <= TaskList.Count - 1 && indexToRemove >= 0)
{
if ((indexToRemove > -1) || (TaskList.Count > 0))
{
string taskToRemove = TaskList[indexToRemove];
TaskList.RemoveAt(indexToRemove);
Console.WriteLine($"Tarea {taskToRemove} eliminada");
}
}
else
{
Console.WriteLine("El número de tarea seleccionado no es válido.");
}
}
catch (Exception)
{
Console.WriteLine("Ha ocurrido un error al eliminar la tarea.");
}
}
void AddTask()
{
try
{
Console.WriteLine("Ingrese el nombre de la tarea: ");
string taskToAdd = Console.ReadLine();
if (!string.IsNullOrEmpty(taskToAdd))
{
TaskList.Add(taskToAdd);
Console.WriteLine("Tarea registrada");
}
else
{
Console.WriteLine("La tarea no puede estar vacía.");
}
}
catch (Exception)
{
Console.WriteLine("Ha ocurrido un error al intentar ingresar la tarea.");
}
}
void ShowTaskList()
{
if (TaskList?.Count > 0)
{
ListTasks();
}
else
{
Console.WriteLine("No hay tareas por realizar");
}
}
void ListTasks()
{
Console.WriteLine("----------------------------------------");
var indexTask = 1;
TaskList.ForEach(task => Console.WriteLine($"{indexTask++}. {task}"));
Console.WriteLine("----------------------------------------");
}
public enum Menu
{
Add = 1,
Remove = 2,
List = 3,
Exit = 4
}
Saludos a todos!
Usando visual Studio Code:
Pueden abrir la lista completa de comandos y atajos presionando Ctrl + K + Ctrl + R (Ctrl + K y sin dejar de presionar Ctrl , presionar R)
Para dar formato se puede usarla combinación:
Shift + Alt + f
Si sale error en las referencias al cambiar la configuración, quitar los using y estás trabajando en visual studio, solo hay que cerrar y volver abrirlo. No sé si les llegue a pasar lo mismo pero en mi caso sucedió eso.
¿Quieres ver más aportes, preguntas y respuestas de la comunidad?