No tienes acceso a esta clase

¡Continúa aprendiendo! Únete y comienza a potenciar tu carrera

Mejora de Código C-Sharp: Buenas Prácticas de Nombramiento

4/14
Recursos

¿Cómo comenzar con el repositorio de GitHub para el curso de C# y código limpio?

Empezamos el emocionante viaje de mejorar el código en C#. Para ello, nos apoyamos en un repositorio específico llamado "curso código limpio C-Sharp" disponible en GitHub. En este escenario, disponemos de un código simple pero extenso en un solo archivo, perfecto para internalizar y corregir malas prácticas comunes en programación. Lo crucial es descargar desde el branch master o el branch código base. Para quienes no estén familiarizados con GitHub, también existe la opción de download zip. Esta versatilidad asegura que todos puedan obtener el código necesario para comenzar, descomprimiéndolo después para utilizarlo.

¿Cómo ejecutar el código descargado?

Una vez que tienes el código, el siguiente paso es ejecutarlo. Para verlo en acción y descubrir sus funcionalidades, abrimos una terminal y seguimos dos pasos esenciales:

  1. Compilar el código: Utilizar el comando .NET build. Este paso es crucial para preparar el código antes de su ejecución.
  2. Ejecutar la aplicación: Con el comando .NET run, podemos interactuar con el programa y explorar sus características.

Este código representa una aplicación de consola que permite agregar, remover y listar tareas pendientes, simulado así un organizador simple.

¿Cómo interactuar con la aplicación de consola?

La aplicación ofrece una serie de opciones accesibles a través de una interfaz sencilla. A continuación, describimos sus principales características:

  • Agregar una nueva tarea: Basta con elegir la opción adecuada y escribir la descripción de la nueva tarea. Por ejemplo, podríamos registrar "terminar el trabajo de la U" o "dar comida a los gatos".
  • Listar tareas: Se pueden consultar las tareas introducidas anteriormente.
  • Remover una tarea: Al elegir la opción de eliminación, se presentan las tareas con sus respectivos números. Es posible eliminar cualquier tarea simplemente seleccionando su número identificador.

Finalmente, una opción permite salir del programa, garantizando una interacción clara y funcional con la aplicación.

¿Cómo mejorar el código resaltando malas prácticas?

Aunque el código cumple su función, existen aspectos que complican su legibilidad y mantenimiento:

  • Nombres de variables poco claros: Algunos nombres resultan crípticos o demasiado breves, generando confusiones innecesarias.
  • Opciones de menú ambiguas: Sin descripciones precisas, términos como "menú 2" o "menú 3" requieren un análisis adicional para determinar su propósito.

El código, pese a estar operativo, no sigue en su totalidad las prácticas recomendadas para un código limpio. Los estudiantes deben estar preparados para aplicar mejoras y estándares de calidad. En futuras sesiones, aprenderemos sobre prácticas como técnicas de refactorización y estrategias de nombramiento efectivo.

A medida que avances, asegúrate de aprovechar cada lección para pulir tus habilidades. ¡Que este curso represente un catalizador hacia tu dominio absoluto del código limpio en C#!

Aportes 19

Preguntas 1

Ordenar por:

¿Quieres ver más aportes, preguntas y respuestas de la comunidad?

Como aporte adicional, si tienen instalado .NET 6 o 7 y no el .NET Core 3.1, puede editar el archivo de la solución (.sln) para cambiar la siguiente línea: , para .NET Core 3.1 es netcoreapp3.1 y para .NET 6 es net6.0

este curso es raro, tiene muy pocos aportes, algo me dice que todos quiere aprender a programar pero nadie quiere aprender a hacerlo BIEN.

Si tienen este error al correr el dotnet run

The framework 'Microsoft.NETCore.App', version '3.1.0' (x64) was not found.
  - The following frameworks were found:
      6.0.4 at [C:\Program Files\dotnet\shared\Microsoft.NETCore.App]

You can resolve the problem by installing the specified framework and/or SDK.

The specified framework can be found at:
  - https://aka.ms/dotnet-core-applaunch?framework=Microsoft.NETCore.App&framework_version=3.1.0&arch=x64&rid=win10-x64
  1. Acceder al link para descargar el SDK

Esto me funciono a mi, espero les ayude jeje

![](https://static.platzi.com/media/user_upload/image-b5697b10-4bba-4715-bfb4-1ac2e7eeb3c8.jpg)solo cambian como indico si usan sdk 8 y listo.

My aporte en ingles

Best practices

  • best ways to complkete tasks
  • similar structure for easy understanting
  • it’s proven and verified standard
  • solve common scenarios

Clean Code

  • means: code that follows standars

  • can be long-term maintainable

  • easy to scale (more users, increase in usage or increase in popularity)

  • easier to add new features

  • How to achieve it?

    • Keep low coupling
    • simple and modern syntax
    • avoid 3rd party libs
    • responsibility distributed
    • Small components
  • Technical debt

    • technical issues that needs to be resolved
    • sometimes is expensive than the development
    • sometimes re-write is the solution
    • how to design and in what tecnology is designed
  • Refactoring

    • Improve functionalities by changing it
    • Business Logic must be maintained
    • must be recurrent
    • this will avoid technical debt
si no les funciona cambiar de net3.1 a net8.0, directamente copien el código, creen un nuevo proyecto de consola vacío con el nombre del proyecto, lo pegan y listo. es otra forma.

Cuando ejecutaba “dotnet run” me aparecía el siguiente error:
warning NETSDK1138: La plataforma de destino “netcoreapp3.1” no tiene soporte técnico y no recibirá actualizaciones de seguridad en el futuro. Para obtener más información sobre la directiva de soporte técnico, consulte https://aka.ms/dotnet-core-support.

Para solucionarlo solo cambie la version del .Net en el archivo ToDo.csproj y problema solucionado.

![]()![](https://static.platzi.com/media/user_upload/Captura%20desde%202023-11-29%2016-10-07-18a8c442-fa10-437c-b669-4023f60a8394.jpg) tengo este problema algun consego.
Para los usuarios de Mac OS les recomiendo instalar el SDK de .Net con Homebrew, lo hace de manera muy sencilla con los siguientes comandos: `brew tap isen-ng/dotnet-sdk-versions -> `Agrega el repositorio de .NET SDK a Homebrew `brew install --cask <version>` `dotnet --list-sdks`
Para los que les da problema de version pueden usar el .NET Upgrade Assistant, que pueden instalar con el siguiente link <https://learn.microsoft.com/en-us/dotnet/core/porting/upgrade-assistant-install#install-the-visual-studio-extension> o con el visual studio se instala automaticamente, a veces ya lo tienen instalado, despues con el comando upgrade-assistant upgrade y siguen instrucciones, seleccionan la version net y ya, le hace build y actualiza la version, todo listo para continuar

Me apracece:

<MSBuild version 17.4.0+18d5aef85 for .NET
MSBUILD : error MSB1003: Especifique un archivo de proyecto o de solución. El directorio de trabajo actual no contiene un archivo de proyecto ni de solución.> 

¿Que hago?

En mi caso estoy utilizando .NET 8.0.1 y solo cree un nuevo proyecto con el mismo nombre y me funciono
En Visual Studio 2022 el PowerShell está en la opción de Herramientas/Línea de Comandos y seleccionas PowerShell para desarrolladores
con mucha emoción por este curso.

Instalar dotnet en Ubuntu

Si no has instalado nada en visualStudio code, y al hacer el comando aparece como command nor found, espero esto te ayude
Crea una carpeta para C#

mkdir Curso-C#

Primero debemos saber que

versión de Ubuntu tienes

lsb_release -a

Yo tengo el siguiente resultado

No LSB modules are available.
Distributor ID: Ubuntu
Description:    Ubuntu 20.04.6 LTS
Release:        20.04
Codename:       focal

Tengo la versión 20.04 de Ubuntu.

Entonces voy a la siguiente documentación y seguir estos pasos:

https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu-2004

Si tienes otra versión más actualizada busca cuál te puede ayudar en está página

https://learn.microsoft.com/en-us/dotnet/core/install/linux-ubuntu?WT.mc_id=servsept20-devto-cxaall

continuando en tu terminal pega los siguientes comandos

Add the Microsoft package repository

wget https://packages.microsoft.com/config/ubuntu/20.04/packages-microsoft-prod.deb -O packages-microsoft-prod.deb
sudo dpkg -i packages-microsoft-prod.deb
rm packages-microsoft-prod.deb

Install the SDK

sudo apt-get update && \
  sudo apt-get install -y dotnet-sdk-7.0

Install the runtime

sudo apt-get update && \
  sudo apt-get install -y aspnetcore-runtime-7.0
sudo apt-get install -y dotnet-runtime-7.0
sudo apt install zlib1g

https://www.youtube.com/watch?v=q4i3t5wLXtE&t=122s

antes de programas todos deberian aprender esto primero. Es complejo dar soporte o hacer refactoring a mucho del codigo que esta actualmente en produccion de diferentes compañias por esta falta de conocimiento

tengo este error y no he encontrado como solucionarlo, alguien sabe como

error MSB4126: La configuración de soluciones especifica
da "Debug|MCD" no es válida. Especifique una configuración de soluciones válida con las propiedades Configuration y Platform (p. ej., 
MSBuild.exe Solution.sln /p:Configuration=Debug /p:Platform="Any CPU") o deje esas propiedades en blanco para usar la configuración de soluciones predeterminada.

excelente explicación sobre mejores practicas