Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




JuAn4k4

#8394 No hacen lo mismo no? Si es null el primero devuelve null y el segundo un array vacío. Aunque no se de Ruby.

1 respuesta
desu
#8394MTX_Anubis:

en ese caso la comprobación debería ir en el setter, no fuera de él

No esoy nada de acuerdo, tu sabes algo de los SOLID PUTO SUBNORMAL?

Ahora enserio, estas haciendo el codigo poco entendible para empezar, para empezar no deberia haber get/set si pretendes hacer oop puro. Segundo, una vez cambiado ese set() por un verbo, te puedo comprar que este la logica de verificacion dentro si la signatura de esa funcion es explicita retornando un Result, es una funcion pura y total para el dominio (no hay dudas del dominio valido).

De hecho si estas haciendo funciones puras y bien definidas, no tiene sentido la logica dentro ya que no es un input valido (del dominio de inputs de ese "setter"). Yo tendria una funcion wrapper:

funcion wrapper(input_raw) -> Result[OK | KO]:
  if is_valid(input_raw) -> method(input_raw)
  else ->  KO

Asi no veria problemas.

Dicho esto que seria la solucion buena, la tuya esta bastante bien y tampoco pasaria nada por un poco de codigo spaghetti... eso si, varias de esa y te tiro la PR

De tener null/undefined en el dominio ... Mejor ni comento, cuando cojas un libro y lo leas lo volvemos a discutir.

1 respuesta
B

Otro debate cíclico, getter/setter vs mantener la encapsulación de datos.

2 respuestas
desu

#8403 Bueno mi critica mas bien iba dirigida a ser una funcion pura y bien definida para que no haya confusion...el tema de los get/set sabiendo que en 2020 aun hay gente que lo usa y se cree que esta bien.. yo ni entro, los uso si trabajo con monos, sino no.

1 respuesta
B

Nomenclatura húngara:

a) Si
b) No
c) Hijo/a/e de puta

MTX_Anubis

#8395 O sea que tu usas bucles for en vez de forEach/each o creas un array/lista y usas otro for para ir llenándolo en vez de usar map

Porque es bastante conciso ese código y si me apuras escribes un comentario explicando el flatten
usamos flatten porque podemos recibir un elemento o una lista
Y más humano que eso imposible y te ahorras un código guarro.

Y si no sabes lo que hacen los métodos flatten o compact entonces tu problema no es que el código sea legible o no.

#8401 lo he escrito de memoria y según escribía el post xD. Fue hace unos años y no recuerdo exactamente que se devolvía si es que se devolvía algo al final, lo único los pasos de checkeos de null, array y elemento.

#8402 Yo pienso que no te lees los post y escribes las primeras subnormalidades que te viene a la cabeza. Estás a 1 o 2 posts de ser la primera persona que ignoro en MV

2 respuestas
B

#8406 Suponer que la gente comenta códigos es de ser muy optimista.

X-Crim

Me vuelvo q dar de baja del thread este ugh

2
desu

#8406 A ver:

if (x == null) {
  y.setX(null)
} else {
  y.setX(x)
}

Y tu dices:

El único pase que tiene es cuando quieres poner un null en vez de undefined y sinceramente, en ese caso la comprobación debería ir en el setter, no fuera de él xD

Es decir esto y dentro de setX una verificacion para modificar la logica del setter

y.setX(x)

No veo problema en lo que te he dicho.

B

.

2 respuestas
desu

#8410 Lo que tu preguntas es el dabate ciclico de #8403 y mi respuesta es haz lo que te salga de la polla.

1 respuesta
B

#8410 Usar getter/setters rompe uno de los principios básicos de la programación orientada a objetos, encapsulación de datos. Pero como dicen por ahí, que cada uno haga lo que le salga del papo.

1 respuesta
Wei-Yu

las míticas discusiones que no van a ningún sitio, que no le aportan nada a nadie y a las que la gente se lanza como loca a invertir energía en ellas

3 1 respuesta
B

Si, mejor debatir sobre cuantos tractores hay en el pueblo de cada uno.

1 respuesta
Wei-Yu

hablar de tractores además de ser más fresco al menos tiene la posibilidades de llegar a algún lado

3
Fyn4r

#8414 Había más nivel en ese debate que en este

1 respuesta
B

#8416 Estamos de acuerdo, nivel había pero el problema era el tipo de nivel.

1 respuesta
desu

#8413 Las mejores discusiones, la salsa, el cara a cara, mano a mano sin camisa, el barro, el puro toque, aqui se ven quienes son reales hastas la muerte y quienes se van a la primera rafaga asustados.

#8417 La gente mayor ya no esta para los trotes de anta;o. De quien eres multi?

B

.

1 respuesta
B

#8419 Por ahí hay un meme con un listado de libros que no se lee nadie. Una cosa es no exponer la estructura del objeto y otra que no puedas modificarlo.

1 respuesta
B

.

2 respuestas
desu

#8421 estas muy pesado hoy aqui no se viene a aprender

Si eres capaz de entenderlo ya nos diras, ya ves que hay gente que lleva 15 a;os picando y aun no sabe por donde le da. Yo confio en ti, se te ve con ganas de aprender y la constancia es la clave.

edit: cierro por hoy no me citeis.

2 respuestas
Ranthas

Es divertido ver a las multi cuentas discutir entre ellas

HeXaN

#8422 Te citaré si me sale de los cojones.

1 respuesta
B

.

1 respuesta
B

#8421 Simplificandolo mucho:

NO

class Point {
  private int x;
  private int y;

  void setx(int x) {...}
  int getx() {...}
  ... 
}

SI

class Point {
  private int x;
  private int y;

  int coordinate(int x, int y) {...} // 0, 1, 2, 3
  ... 
}
1 respuesta
isvidal

La programación funcional me parece pura belleza.

Ahora bien, es un cambio de paradigma tan grande para el 99% de empresas de productos tangibles que no se dará en la vida hulio

2 respuestas
B

.

isvidal

Yo tengo codigo legacy en mi empresa EN PHP, repito EN PHP, que para mutar una propiedad haces $fulanito->nombre = 'Pepito':, y para recuperarla $nombre = $fulanito->nombre;

Repito en PHP, pues bien, el tío este, un pavo que ahora se supone es SENIOR y programador con 15 a;os de experiencia, acaba de salir de un cursillo de Java y lleno todas las putas clases de mierda que hacia, EN PHP, con getters y setters, y lo mejor es que eran totalmente tontos y que las propiedades estaban declaradas como publicas, osea que podías seguir accediendo con el $fulanito->nombre.

Hablamos de ficheros de 500 lineas que 350 son sus pu:eteros get, set...

Luego ficho para una posición de gestor por un pastizal en Indra (Suprise motherfucker, cuna de mediocres), proyecto que murió en un a;o y ahora ha enga;ado a otra pobre empresa que se va a comer su código de mierda.

1 respuesta
B

#8429 Un getter/setter no es solo usado para acceder/cambiar una propiedad sino para validar la entrada por ejemplo. A la hora de mantener código es mejor emplear métodos para acceder a propiedades que hacerlo directamente.