Estaría interesado en algunos de antes y después de c# ejemplos, algunos no-idiomáticas vs idiomáticas ejemplos. No c# ejemplos estaría bien, así si que la idea de todo. Gracias.

  • ¿Cómo puedo obtener un negativo, esta es una muy buena pregunta!
  • De acuerdo, buena pregunta con algunas buenas respuestas.
  • Oculto características de C# está lleno de modismos, C#. No todo es mente, pero muchos de los simples de una sola línea con un alto número de upvotes podría ser considerado idiomáticas. Y algunas de las respuestas a describir el no-idiomáticas alternativas.

5 Comentarios

  1. 100

    Idiomáticas significa, siguiendo las convenciones de la lengua. Usted quiere encontrar la forma más fácil y más común de las formas de realizar una tarea, en lugar de trasladar su conocimiento de un idioma diferente.

    no-idiomáticas python usando un bucle con anexar:

    mylist = [1, 2, 3, 4]
    newlist = []
    for i in mylist:
        newlist.append(i * 2)

    idiomáticas python usando una lista de comprensión:

    mylist = [1, 2, 3, 4]
    newlist = [(i * 2) for i in mylist] 
  2. 28

    Algunos ejemplos:

    La gestión de los recursos, no idiomáticas:

    string content;
    StreamReader sr = null;
    try {
        File.OpenText(path);
        content = sr.ReadToEnd();
    }
    finally {
        if (sr != null) {
            sr.Close();
        }
    }

    Idiomáticas:

    string content;
    using (StreamReader sr = File.OpenText(path)) {
        content = sr.ReadToEnd();
    }

    Iteración, no idiomáticas:

    for (int i=0;i<list.Count; i++) {
       DoSomething(list[i]);
    }

    También no-idiomáticas:

    IEnumerator e = list.GetEnumerator();
    do {
       DoSomenthing(e.Current);
    } while (e.MoveNext());

    Idiomáticas:

    foreach (Item item in list) {
       DoSomething(item);
    }

    Filtrado, no-idiomáticas:

    List<int> list2 = new List<int>();
    for (int num in list1) {
      if (num>100) list2.Add(num);
    }

    idiomáticas:

    var list2 = list1.Where(num=>num>100);
    • Las llaves son idiomáticas Java 😉
  3. 12

    Idiomáticas código es el código que realiza una tarea común en la forma común para su idioma. Es similar a un patrón de diseño, pero a una escala mucho menor. Modismos difieren ampliamente por el lenguaje. Un lenguaje en C# podría ser la utilización de un iterador para recorrer a través de una colección en lugar de bucle a través de ella. De otras lenguas, sin iteradores pueden confiar en el bucle de frase.

  4. 6

    En PHP a veces me encuentro un código como:

    foreach ($array as $value) {
        $trimmed[] = trim($value);
    }
    return $trimmed;

    Que idiomáticamente puede ser implementada con:

    return array_map('trim', $array);
  5. 3

    Prácticamente hablando, significa la escritura de código en forma consistente, es decir, todos los desarrolladores que trabajan en su base de código debe seguir las mismas convenciones al escribir un código similar construcciones.

    Por lo que el idiomática es la manera que coincida con el estilo del resto del código, no-idiomáticas manera significa que usted está escribiendo el tipo de función, pero de una manera diferente.

    por ejemplo, si usted está en bucle un número determinado de elementos, podría escribir el bucle de varias maneras:

    for (int i = 0; i < itemCount; i++)
    
    for (int i = 1; i <= itemCount; i++)
    
    for (int i = 0; i < itemCount; ++i)

    etc

    Lo que es más importante es que el estilo elegido, se usa constantemente. De esa manera las personas se vuelven muy familiar y seguro de cómo usarlo, y cuando veo un uso que parece diferente puede ser un signo de un error que se introduce, tal vez fuera por un error, por ejemplo,

    for (int i = 1; i < itemCount; i++)
    • Supongo que pensó idiomáticas significaba «la mejor manera», frente a sólo un estándar arbitrario. Pero supongo que la mejor manera es objeto de contexto.

Dejar respuesta

Please enter your comment!
Please enter your name here