Cita:
Iniciado por Fernand0
estoy queriendo hacer algo.. medio... "PHPero"
Yo te diría que en lugar de ir para atrás, y tratar de adaptar las malas prácticas de los lenguajes poco serios como PHP a lenguajes profesionales como C#, aprendas las prácticas correctas y te olvides de los lenguajes de juguete.
Cita:
Iniciado por Fernand0
Ahora, a mi no me gustan los nombres largos.
Las buenas prácticas no se tratan de lo que a vos te guste o no, sino de lo que sea mejor para maximizar la legibilidad, mantenibilidad, y varios otros aspectos del código. Tu "gusto" es irrelevante.
si yo leo:
no puedo a simple vista tener noción de qué cosa sea a, ni X, ni Y.
En cambio:
es mucho más descriptivo, y reduce la necesidad de documentar o comentar el código, ya que a simple vista se entiende perfectamente.
Cita:
Iniciado por Fernand0
Supongamos que tengo..
List<Persona>, y de aca quiero obtener toda mi información. Entonces creo lo primero que se me viene a la mente, es una propiedad(
List<Persona> Personas)
Código:
string test1 = string.Format("Cantidad de personas: {0}", Personas.Count());
Todo perfecto... pero, es posible hacer esto..?
Código:
string test1 = string.Format("Cantidad de personas: {0}", Personas.Count());
string test2 = string.Format("Cantidad de personas buenas: {0}", Personas.Buenas.Count());
string test3 = string.Format("Cantidad de personas malas: {0}", Personas.Malas.Count());
hay varias formas de hacer esto, pero no lo recomiendo.
En lugar de eso, una simple consulta de LINQ es más que suficiente en este caso:
Código C#:
Ver originalvar personas = new List<Personas>();
// suponiendo que existe una propiedad en la clase Persona, para determinar si una persona es buena
var personasBuenas = personas.Where(x => x.EsUnaPersonaBuena);
// todas las personas que no son buenas, por descarte son malas.
var personasMalas = personas.Except(personasBuenas);
var total = $"Cantidad de personas: { personas.Count }";
var buenas = $"Cantidad de Personas Buenas: { personasBuenas.Count() }";
var malas = $"Cantidad de Personas Malas: { personasMalas.Count() }";
Otra opción sería heredar de List<Persona> e implementar estas propiedades, pero es un approach que no escala, ya que por cada combinacion de tipo y propiedades tendrias que crear una clase distinta, y luego convertir los datos a esa clase, etc.
En fin, la forma de programar en languajes serios dista bastante de lo que se suele hacer en php.