No tienes acceso a esta clase

隆Contin煤a aprendiendo! 脷nete y comienza a potenciar tu carrera

Resumen y cierre del curso

14/14
Recursos

Nombre del curso: Curso de Buenas Pr谩cticas y C贸digo Limpio en C#

Dean:聽Sebasti谩n Delmont

Faculty Manager:聽Ricardo Celis

School Owner: Juan David Castro

Profesor: Miguel Teheran

Direcci贸n: Karol Casta帽eda

Producci贸n OPS: Lizeth C谩ceres y Roc铆o Mart铆nez

Creaci贸n audiovisual: C茅sar A. Pinilla

Edici贸n de video: Juan Leon

Postproducci贸n de audio: Jorge Andres Torres Viveros

Dise帽o gr谩fico: Romina Lav铆n

Coordinaci贸n General: Andr茅s Arizmendy, Daniel Guti茅rrez, Carol Baquero, Carlos C茅spedes y Sura Cede帽o

Revisi贸n: Rodrigo Goitia y Natalia Moreno Espinoza

Aportes 30

Preguntas 3

Ordenar por:

驴Quieres ver m谩s aportes, preguntas y respuestas de la comunidad?

o inicia sesi贸n.

Excelente curso b谩sico para adentrarse a las buenas practicas de c贸digo, en particular me agrada mucho como explica este profesor, he visto otros de sus cursos en c# y .net y siempre me ha gustado su forma tan sencilla de explicar.

El curso es corto y sencillo de entender. Felicitaciones a Miguel, explica muy bien. Por otra parte, muchos de los ajustes estan orientados a practicas muy visuales u organizacionales (que pretenden mantener un orden) pero, desde otra perspectiva, hay muchas posibles mejoras a nivel de rendimiento que seria interesante evaluar, tambien, el hecho de simplificar o reducir el cosigo no siempre representa o resulta en algo 100% bueno si, posteriormente, evaluamos el producto a nivel de ensamblado o ejecutable, puede ser que mucho de lo que refactorizamos se haya "des-refactorizado" en la media compilacion por x o y factor (punto a evaluar). Tambien, estaria muy bien revisar todo lo que se ha enriquecido c# hasta hoy y por ultimo, pero no menos importante, todo lo relacionado a acceso y manejo de memoria y tambien los temas relacionados a abstraccion. De nuevo, el curso es bueno y me parece una muy buena introduccion a un tema muy muy amplio,l. Espero, en el futuro, vengan los siguiente "capitiulos" donde se pueda profundizar un poco mas. Excelente Miguel y platzi 馃憦

Muy buen curso. Explicado de forma excelente de parte del profesor. Felicitaciones!

Uno de los mejores cursos de buenas pr谩cticas y c贸digo limpio que he tomado. Me sumo al pedido del compa帽ero Sim贸n Flores, Platzi deber铆a tener una ruta de especializaci贸n de C# con un proyecto real como la tiene JavaScript.

Mis m谩s sinceras felicitaciones al profesor Miguel Teher谩n, sus cursos son muy f谩ciles de llevar y de entender, se nota los a帽os de experiencia.

隆脡xitos Team Platzi!

Excelente curso, solamente una peque帽a cr铆tica:
Ser铆a muy bueno que haga una ruta de aprendizaje totalmente completo de C#, desde b谩sico a m谩s complejo (o simplemente desde los primeros pasos a realizar un peque帽o proyecto importante) porque explica muy bien!!!
La verdad que me ha motivado a煤n m谩s en aprender este lenguaje.
Fuerte abrazo desde Alemania, profesor! y tambi茅n muchas gracias por dedicarle tiempo a nosotros!

El tema del curso es muy bueno y el profesor tambien es muy bueno, sin embargo el curso se queda corto y no profundiza.

Desde mi punto de vista:

  • leer Clean code de robert C. martin
  • luego practicar, practicar y practicar a aplicar buenas practicas
  • igual ayuda mucho leer foros y suscribirse a posts que te ayuden a mejorar en un lenguaje ya que cada lenguaje tiene lo propio

Gracias, ser铆a bueno un curso de pruebas unitarias en c# con .net, tambien con entity framework para simular las bases de datos, y con mocks a apis externas

Excelente curso, la mayor铆a de las recomendaciones aplican para otros lenguajes de programaci贸n

Profe Miguel realmente es un vacano explicando. Hace que todo se entienda de forma clara y precisa.
Ojala sigan ampliando la ruta de C# considero que es un lenguaje muy importante.

Muy buen curso...

Buen curso! y sobre todo muy claro!

creo que es el mejor profesor de platzi Miguel teheran

Excelente curso. B谩sico, pero directo.

Que buen curso 馃槂

No usen chatgpt para implementar cosas enredadas, mejor aprendanlas sino seran problemas para el futuro.

Gran curso corto, pero al grano. Ahora voy por el curso de SOLID.

Este curso hizo que me enamorara de nuevo en C#! excelente curso profe Miguel!

Muchas gracias Miguel, hace ver m谩s interesantes y envolventes las experiencias de aprendizaje C#.

Excelente Curso

Muy buen curso, justo lo que uno necesita para poder replicarlo al equipo de desarrollo, y a los iniciantes en programacion鈥

Me encanto el curso, me parece que es algo basico que todos los programadores debemos saber y aplicar

Muchas gracias Miguel, tus cursos en C# siempre son los mejores, los complemento para sre backend

Me parece que el curso es muy correcto en su duraci贸n, ejemplos y el profesor explic贸 todo de una manera muy sencilla y entendible.

Muy buen curso! Este fue finalmente mi resultado:

List<string> taskList = new List<string>();


// Main code
while (MenuMain()) ;

// -------------------------- Functions --------------------------

// -------------------------- Menus --------------------------

/// <summary>
/// Show the main menu
/// </summary>
/// <returns>Returns wether the user has not chose to exit</returns>
bool MenuMain()
{
    PrintSeparator();
    PrintMainMenuOptions();

    MenuOption? selectedOption = (MenuOption?)ReadIntSafely();
    return (selectedOption) switch
    {
        (MenuOption.Add) => RunAndReturnTrue(MenuAdd),
        (MenuOption.Remove) => RunAndReturnTrue(MenuRemove),
        (MenuOption.TaskList) => RunAndReturnTrue(MenuTaskList),
        (MenuOption.Exit) => false,
        _ => true
    };
}

void MenuRemove()
{
    Console.WriteLine("Ingrese el n煤mero de la tarea a remover: ");
    ShowTaskList();
    PrintSeparator();

    int? selectedInt = ReadIntSafely();
    if (selectedInt == null)
    {
        return;
    }
    int indexToRemove = (int)selectedInt - 1;

    RemoveItemFromTaskList(indexToRemove);
}

void MenuAdd()
{
    Console.WriteLine("Ingrese el nombre de la tarea: ");
    string task = Console.ReadLine();
    taskList.Add(task);
    Console.WriteLine("Tarea registrada");
}

void MenuTaskList()
{
    if (taskList.Count == 0)
    {
        Console.WriteLine("No hay tareas por realizar");
        return;
    }
    PrintSeparator();
    ShowTaskList();
    PrintSeparator();
}

// -------------------------- Helpers --------------------------

IEnumerable<(T item, int index)> WithIndex<T>(IEnumerable<T> source)
{
    return source.Select((item, index) => (item, index));
}

bool RunAndReturnTrue(Action func) { func(); return true; }

void RemoveItemFromTaskList(int index)
{
    if (index < 0 || taskList.Count <= index)
    {
        return;
    }
    string task = taskList[index];
    taskList.RemoveAt(index);
    Console.WriteLine($"Tarea {task} eliminada");
}

int? ReadIntSafely()
{
    return int.TryParse(Console.ReadLine(), out int selectedInt) ? selectedInt : null;
}

void ShowTaskList()
{
    foreach (var (task, i) in WithIndex(taskList))
    {
        Console.WriteLine($"{i + 1}. {task}");
    }
}

void PrintMainMenuOptions()
{
    Console.WriteLine("Ingrese la opci贸n a realizar: ");
    Console.WriteLine($"{(int)MenuOption.Add}. Nueva tarea");
    Console.WriteLine($"{(int)MenuOption.Remove}. Remover tarea");
    Console.WriteLine($"{(int)MenuOption.TaskList}. Tareas pendientes");
    Console.WriteLine($"{(int)MenuOption.Exit}. Salir");
}

void PrintSeparator() => Console.WriteLine("----------------------------------------");

// -------------------------- Enums --------------------------

enum MenuOption
{
    Add = 1,
    Remove = 2,
    TaskList = 3,
    Exit = 4
}

No se si segu铆 correctamente principio KISS.

Gran Curso, muy necesario para continuar la ruta de aprendizaje en c#

Este curso de Buenas Pr谩cticas y C贸digo Limpio en C# es una excelente oportunidad para aquellos que desean mejorar sus habilidades de programaci贸n y escribir c贸digo de alta calidad. Aprender谩s a escribir c贸digo mantenible, legible y f谩cil de depurar, lo que te permitir谩 trabajar de manera m谩s eficiente y resolver problemas con mayor facilidad. 隆Definitivamente recomendar铆a este curso a cualquier desarrollador C# interesado en mejorar sus habilidades de programaci贸n!

Que gran curso, aborda temas importantes, aunque a nivel b谩sico, da unas bases grandes para seguir aprendiendo a tener un c贸digo limpio y con buenas practicas, se aprendi贸 bastante, gracias profe, explica muy bien.

Muy buen curso, y la explicaci贸n mejor a煤n

Excelente curso, contenido muy bueno.

Excelente curso