Herramientas de usuario

Herramientas del sitio


code:best-practices

¡Esta es una revisión vieja del documento!


Codificando

Conceptos que hay que tener en cuenta a la hora de programar.

Programación declarativa

El código imperativo describe cómo se hace algo, mientras el declarativo describe qué se está haciendo.
La programación declarativa expresa la lógica sin describir un flujo (if, bucles…).

El código siguiente es imperativo:

using System;
class Example
{
    static void Main()
    {
        Int32 sum = 0;
        for (Int32 i = 0; i < 100; i++)
        {
            if (i % 2 == 0)
            {
                sum += i;
            }
        }
        Console.WriteLine(sum);
    }
}

Su equivalente declarativo sería:

using System;
using System.Linq;
 
class Example
{
    static void Main()
    {
        Int32 sum = Enumerable.Range(0, 99)
                      .Where(i => i % 2 == 0)
                      .Sum();
        Console.WriteLine(sum);
    }
}

O con un grado declarativo mayor:

using System;
using System.Linq;
 
class Example
{
    static void Main()
    {
        Int32 sum = Enumerable.Range(0, 99)
                      .Where(isEven)
                      .Sum();
        Console.WriteLine(sum);
    }
    static Boolean isEven(Int32 number)
    {
        return number % 2 == 0;
    }
}

Notas

code/best-practices.1279109761.txt.gz · Última modificación: 2020/05/09 09:24 (editor externo)