Feda /dev/ - No Javascript allowed

Normas
spoiler
Personas non gratas
Memes feda dev




r2d2rigo

#45030 a una charla de uncle bob en oxford fui yo prepandemia y hablo de todo menos de lo que tenía que hablar. Vaya un tío brasas.

JuAn4k4

Oye pues no es mala idea intentar medir la diferencia de readability en un software que sigue al pie de la letra el “Clean code” vs uno que solo sigue el sentido común.

Mismo problema, coges a 1000 devs, les explicas el problema, les dejas resolverlo a ellos por su cuenta (para que tengan el dominio ya resuelto en su cabeza), les pides hacer un cambio de requisitos en su solución y después les das dos codebases diferentes, en las que le pides hacer el mismo cambio, midiendo el tiempo que pasan leyendo código y cuánto hasta realizar el cambio y que funcione. En ambos casos deben mantener la esencia del código, es decir deben mantener las reglas de clean code en el primero y el sentido común en el segundo.

Da para paper, “Developer performance” at stake.

4 respuestas
B

#45032 Juan bro, lo de siempre, ir al extremo con cualquier cosa suele salir mal, ya se clean code o la farlopa

Lifecasi0

#45032 el sentido común, es el menos común de los sentidos.

1 respuesta
Kaledros

El problema viene cuando cada lenguaje tiene su sentido común porque tiene sus convenciones.

desu

#45032 yo lo hice aqui con @vago_21. le dije pideme cualquier refactor a este codigo. y le demostre porque estoy en el top. el buen codigo no llama la atencion pero es perfectamente moldeable.

a ver si encuentras el bug

andrew kelly pone en una presentacion de zig, a gente que nunca ha visto zig, un ejemplo de metaprogramming y reflection, algo considerado complejo y dificil...


encontrando bugs en la stdlib de python hehe

1 respuesta
MTX_Anubis

#45032 Has descubierto por qué todas esas prácticas de DDD, TDD, Clean Code, etc. y cosas por el estilo que dicen que mejoran la performance de los equipos realmente nadie sabe qué mejoran y los "nosotros hemos incrementado un 40% la entrega no quiere decir que sea por esas prácticas si no que puede ser simplemente por añadir procesos y guías al desarrollo en vez de dejar que sea un caos.

Creo que había un metaestudio por ahí entre cientos de empresas y miles de programadores y llegaron a la conclusión de que lo único que hacía mejorar (menos bugs, mayor velocidad de entrega, mayor adaptabilidad a los cambios) eran los ciclos rápidos de desarrollo y tener tests (que es distinto a hacer TDD).

2 respuestas
eondev
#45034Lifecasi0:

el sentido común, es el menos común de los sentidos.

sera para ti shur

Farmijo
#45037MTX_Anubis:

si no que puede ser simplemente por añadir procesos y guías al desarrollo en vez de dejar que sea un caos.

Esto viene a ser la clave, pero estáis pasando de un extremo a otro muy rápido como si todo fuera basura y nada valiera.

  • DDD es un overkill que muchas veces no es necesario pero te puede dar visibilidad en caso de que tus equipos tengan interdependencias por mucho que el termino este prostituido a día de hoy (y la gente lo confunda con arquitectura hexagonal). Es un término más de producto-negocio que de tech.
  • TDD te vale como modelo mental para romper problemas en pequeños trozos. Si tienes que entender el dominio de algo o implementar alguna base de código nueva, te sirve para tener feedback de lo que estás programando más rapido.
  • El capítulo de los namings de clean code se debería tener en cuenta siempre.
1
desu
#45037MTX_Anubis:

Creo que había un metaestudio por ahí entre cientos de empresas y miles de programadores y llegaron a la conclusión de que lo único que hacía mejorar (menos bugs, mayor velocidad de entrega, mayor adaptabilidad a los cambios) eran los ciclos rápidos de desarrollo y tener tests (que es distinto a hacer TDD).

No. Ni eso. No es cierto.

Lo unico demostrado que ayuda a tener menos bugs es tener menos codigo.

Si tu puedes hacer algo en 100 LOC en lugar de 1k vas a tener 1 bug menos.

Cada 1k LOC hay 1 bug.

Por eso George Hotz teine la serie donde hace tinygrad y tinydb y demas, software de menos de 1k LOC.

Y por eso yo soy defensor de delegar las cosas al menor nivel posible, de esta manera reduces el codigo en user space y application > transport por ejemplo.

Porque cuanto menos codigo escribas en tu aplicacion y mejor uses las herramientas, menos codigo hay en total, que mas puede ser optimizado.

1 respuesta
Wei-Yu
def serveRequest(request)
 return None

MTX_Anubis

#45040 Eso ya lo sé pero no hablo solo de tener menos bugs

1 respuesta
desu

#45042 lo unico que te hace tener mejor codigo es tener mejores programadores, espacio y tiempo https://arnaudiaz.com/blog/creative-space-time/

si eres malo pues aprende a ser bueno

JuAn4k4

#45036 Hombre a ver, si metes un switch statement lo primero que busca la gente es un missing case, un poquito de trampas hizo.

Sobre clean code y tal:
Lo que tampoco entiendo es:
Para que carajo quiero desarrollar yo más rápido si me pego el 98% del tiempo sin escribir código ?
No sería mejor subir el % escribiendo código al 50%, haciendo pairing y quitar reviews, y mierdas de reuniones de ops review, refinements, etc ? Y ya de paso hacemos jornadas de 4h y 4d. Te digo que irías por lo menos 3-4 veces más rápido.

Sobre DDD, madre mía yo lo sufrí y eso es montar un pifostio por montarlo, no vale un carajo. Da más problemas que los que resuelve, que no digo que si defines los bounded context y los eventos bien tenga valor, algún caso de uso tendrá, pero a mi me hicieron el “para todo usamos DDD, pero mal hecho”, y oh my….

Hoy he hecho literal UN PR de 3 líneas que escribí el viernes pasado, y ahora revisaré documentación que tenemos que poner al día para otro equipo haga oncall con nosotros

2 respuestas
B

#45044 juanito mi pana, cuando busquemos gente de backend te hago referal, dont worry, tengo lo que necesitas

Farmijo
#45044JuAn4k4:

Sobre DDD, madre mía yo lo sufrí y eso es montar un pifostio por montarlo, no vale un carajo. Da más problemas que los que resuelve, que no digo que si defines los bounded context y los eventos bien tenga valor, algún caso de uso tendrá, pero a mi me hicieron el “para todo usamos DDD, pero mal hecho”, y oh my….

Producto: Chatbot médico, con flujos de casos, preguntas que se pueden hacer, respuestas, clasificaciones de preguntas, imagenes, valoraciones... Siendo la mayor parte de flujos asíncronos (quitando la gestión de usuarios/cuentas y la parte de backoffice).

Era un caso de libro para aplicar DDD. Contexto de médico, de paciente y de cuenta para la gestión de usuarios según el contexto como tal, definición de las reglas de negocio en el dominio (número de preguntas que se pueden hacer en un caso específico en base al tier del usuario, por ejemplo). Todos los flujos gestionados en base a eventos de dominio. Equipos claramente separados por esos contextos. Leías un log y hasta el de customer success podía entender que estaba pasando en base a como estaban escritos los eventos y los agregados que los generaban. Y de rebote los podías usar para sacar métricas de negocio.

Casos de uso para estas cosas hay. Otro tema es que como se pone de moda, voy a usar un CRUD con CQRS; HEXAGONAL en top of a DDD based architecture blablabla y tienes 2000 líneas para algo que se hace en tres ficheros de 10.
Estoy peleandome ahora con una app legacy en la que alguien queriendo demostrar lo listo que era ha abstraido absolutamente todo aunque no haya ni interfaces para abstraer (clases concretas que las inyecta mediante DI y simbolos). En Typescript, con lo que eso además en runtime se va a la mierda y en transpilación no se comprueba porque solo se resuelve en runtime. Que daño ha hecho este sistema de tipos por favor.

2 respuestas
r2d2rigo

#45046 el daño lo ha hecho ser un efepero de java script.

frekaice
#45046Farmijo:

Casos de uso para estas cosas hay. Otro tema es que como se pone de moda, voy a usar un CRUD con CQRS; HEXAGONAL en top of a DDD based architecture blablabla y tienes 2000 líneas para algo que se hace en tres ficheros de 10

La representación de mi team lead

desu

bezos en coachella, mazado, billonario, follandose pivonacos de 20 años mientras suena the weeknd de fondo, seguramente va puesto hasta el culo de coca y alcohol, pero con un par de pastillitas de magia las modelos se la chupan durante horas...


mientras tu streamer favorito posteando historias en linkedin y abriendo stream un sabado a las 8 de la tarde... mientras una peli azul esta preparando una devtalk de lo feliz que es programando

2 2 respuestas
pantocreitor

#45049 estas violentando gente, hogo kuidhao

1 respuesta
KarlosWins

.

2
CaNaRy_r00lz

Buenas gente, tengo una duda sobre ASP.NET con webforms en VS2022 donde puedo preguntarla? o puedo hacerlo aqui? la he liado un poco y no se como solucionarlo

1 respuesta
Wei-Yu

con ese stack yo te recomiendo preguntar en www.lawebdelprogramador.com

1 2 respuestas
Dr_Manhattan

#45053 qué tiempos esa web cuando picaba asp.net en el framework 2.5 me has desbloqueado un recuerdo vegano apestoso

Pasando las sentencias SQL por querystring a esas tablas sin pks ni moderneces de ahora

Dr_Manhattan

#45049 hoy es el día de los facts. Mis dieses

Soltrac

#45052 webforms....eso existe aún?

1 respuesta
CaNaRy_r00lz

#45056 Ya ves, eso existe cuando el profesor es una basura que ni se molesta en enseniar, y te dice haz esto en asp.net pero buscate la vida , gracias a que he encontrado un tuto, pk nos habia dicho que lo hicieramos siguiendo el tuto de microsoft wintoys o algo asi que es con razor pages

eondev

#45053 iba a decir este https://www.forosdelweb.com/

desu


2 1 respuesta
MTX_Anubis

#45059 Es que los hijos de puta llevan 8 años vendiendo la misma mierda. Viven de repetirse constantemente una y otra vez y encima diciendo cosas mal y cuando les dices que su contenido es una basura se idignan.

1