Parodia de "Pesadilla en la cocina" enfocada en las empresas de desarrollo de software. Clases de 6000 líneas, ningún test, APIs SOAP que devuelven XML con JSON dentro... "Alvarote" da un buen repaso a todos los programadores!
#44:
#35 Te recomiendo que leas el libro de Clean Code porque básicamente va de explicar tu pregunta. La respuesta rápida es que probablemente rompa todos los principios SOLID, especialmente el de Responsabilidad única. Una clase de 6000 líneas va a hacer muchas más cosas de las que debe, va a ser difícil de testear, va a ser difícil de refactorizar, va a ser prácticamente imposible que tu compañero que está en tu proyecto entienda qué carajo pasa ahí, va a ser fácil que genere bugs y que estés perdiendo el tiempo.
Aquí tienes un buen resumen de un buen desarrollador que explica qué son los conceptos SOLID en español http://devexperto.com/principio-responsabilidad-unica/
#101:
#64 Te sorprenderías cuantas empresas ofrecen ese modelo de trabajo descentralizado (trabajo desde casa) y muchos compañeros acaban acudiendo a la oficina con la misma asiduidad que antes, por diferentes motivos. Yo en mis últimos 3 puestos he disfrutado del privilegio de poder trabajar desde casa tanto como quisiera, con algún compañero que directamente vivía en otra provincia (y hasta otro país) y venía a la oficina unos pocos días al mes... y al final la mayoría de nosotros pasamos más tiempo en la oficina que fuera de ella. La productividad se nota cuando puedes discutir problemas y soluciones directamente.
Eso sí, yo he encontrado que el poder entrar y salir a la hora que quieras, trabajando solo unas horas al día en la oficina, y el resto desde casa, es perfecto para mí: organizo las tareas que requieran colaboración con compañeros en el horario que voy a estar en la oficina, y el resto del día me concentro mejor en la tranquilidad de casa. Voy y vengo a las horas que me viene mejor por temas de tráfico y atascos. Entre otras ventajas.
Sé de otros compañeros en otras empresas que siguen el mismo esquema y son mucho más felices ahora, que cuando trabajaban desde casa la mayoría del tiempo.
#83:
Yo aún tengo que encontrar un servicio SOAP bien definido, la conversación suele ser esta:
-Trajencorbatao: Bueno y ya para los datos te conectas a nuestros WS
-Yo: Ok, puede ser con REST?
-Trajencorbatao: NO NO no no no nosotros somos profesionales enterprise no hipsters de silicon valley SOAP garantiza la validez blah blah XSD blah
-Yo: Ok pásame la URL del WSDL a ver que dice el SoapUI
...
-Yo: Oye tío, la petición sólo tiene un campo que se llama "peticion" que coño pongo dentro?
-Trajencorbatao: OK, espera que te mando un mail explicando el xml que metemos ahí sin esquema ni validar ni na de na.
-Yo: WTF
#13:
#8 24.79 libras el libro normal, y 23.55 libras la versión para Kindle. Y luego la gente se pregunta por qué no despega el libro electrónico.
#48:
#35 No he encontrado ningún caso en mi vida en las que una clase de 6000 líneas sea necesaria. Eso significa algunos problemas:
- Te va a costar tener en la mente por donde vas.
- Te va a costar probar esa clase. Hace demasiadas cosas.
- Te va a cotar depurar paso a paso.
La complejidad en informática es exponencial. Las posibles formas de combinarlo aumentan con el número de variables, ciclos, ifs, etc.
No necesariamente pero muy probablemente:
- Los metodos serán largos y con muchos niveles de anidación de los que la puedes liar parda con poner una llave fuera de su sitio. Pero aún puede que tengas varios Try Catch con dos bucles for y cosas ahí todas entrelazadas.
- Seguramente la clase viole el principio de un sola responsabilidad. Esto significa que cada clase debe hacer una única cosa: una clase para calcular un resultado. Otra clase para formatear el resultado. Si pasado mañana el jefe quiere cambiar de formato el informe... no tienes que cambiar el cálculo. Sabes que sólo tienes que cambiar el formatter por otro.
- Seguramente la función recibirá muchos parámetros porque hace muchas cosas. Pero aún como devuelva más de un parámetro y lo haga modificando parámetros de entrada.
Nota: toda regla tiene sus excepciones. Un XML con datos o un archivo de propierdades con las traducciones de palabras podría serlo. Aunque en este caso NO son una clase. También en los años 60 - 70 una llamada a un método podría ser más costosa.
#98:
#96 Si las líneas en C que escribes "no se comportan como quieres" quizás deberías de dicarte a otra cosa
#35 Te recomiendo que leas el libro de Clean Code porque básicamente va de explicar tu pregunta. La respuesta rápida es que probablemente rompa todos los principios SOLID, especialmente el de Responsabilidad única. Una clase de 6000 líneas va a hacer muchas más cosas de las que debe, va a ser difícil de testear, va a ser difícil de refactorizar, va a ser prácticamente imposible que tu compañero que está en tu proyecto entienda qué carajo pasa ahí, va a ser fácil que genere bugs y que estés perdiendo el tiempo.
Aquí tienes un buen resumen de un buen desarrollador que explica qué son los conceptos SOLID en español http://devexperto.com/principio-responsabilidad-unica/
#44#48#51 Una clase una sola responsabilidad? No será un método de clase una sola responsabilidad?
Según eso, para una página que tiene varias funcionalidades en vez de tener un controller con varios métodos que mapeen cada funcionalidad debería tener uno por cada una?
En el proyecto en el que yo estoy eso sería como ver un unicornio
#17 Existen y pagan normal, bien o muy bien. Incluso valoran a los empleados! Evidentemente no es Indra (con perdón a los trabajadores de indra) o similares
#26 como he dicho antws yo estoy en un carnica..y cero quejas no hago ni una hora de mas y se nos trata bastante bien...eso si el sueldo es una basura...
#17 sí existen sí, y pagan bien sí. Pero igual pillan fuera de las fronteras, no estoy seguro de que dentro conociendo como funciona España en general, quede alguno.
#47 También pagan bien en algunas cárnicas (eso significa que los clientes pagan muy muy bien). Otra cosa es que cuando salgas de la cárnica, seas un buen profesional. Eso ya es algo muy personal y cada uno intenta buscar el camino que mejor se adapta a su personalidad.
#53 Sólo destacar que una carrera profesional no tiene porqué ser sólo en una empresa. Se aprende muchísimo dependiendo de con quién te rodees y construyendo varios proyectos en distintos estados de su ciclo de vida o en consultoría en general.
#61 Hombre, vale que depende de quien te rodees pero eso depende en gran medida de la empresa, el personal que contrata, si te forma en cosas nuevas... Y que decir que el sueldo tiene que ir mejorando, sino no es carrera profesional, es sacame el curro que yo ya me he comprometido con el cliente, tu veras.
#63 Hay miles de empresas ahí fuera de verdad pero hay que esforzarse un poquito. Y no elegir la primera que pasa por tu lado. Cuando se hace una entrevista es para los dos lados, para ver si tú vales como programador y empleado, y para que tú veas si la empresa es decente, vas a poder aprender, van a valorarte y si te van a pagar decente. No vas a encontrar un trabajo de 50k euros de desarrollador a la primera, pero los hay, incluso en España. Y de mucho más sueldo incluso!
#14 existen y fuera de España más, por desgracia. El asunto también es que esos sitios no pillan a todo el mundo sino que es complicado entrar.
He visto mucho desarrollador que está en consultora y que no hace nada por su cuenta, ningún proyecto, ningún estudio, nada relacionado con su carrera profesional que no se lo dé la empresa, los cuatro cursitos que monta para llevarse la pasta de la tripartita y ya. Así seguirá en esos curros de por vida porque hay empresas que piden gente muy preparada y gente muy preparada intentando entrar en esas empresas. Cuando digo preparada no me refiero a tener una carrera universitaria que terminé hace 8 años, eso a los 8 años ya no sirve para hacer ver a una empresa que eres el adecuado/a para ellos.
Hay que perder el miedo, echarle horas fuera del curro trabajando para nosotros mismos e intentar conseguir algo mejor. No es fácil y hay que sacrificarse, a veces moviéndose de ciudad o país, es una putada pero es como está el mundo ahora mismo, nos guste o no.
#93 sasto. Algunas empresas se preocupan más por formar a su gente, otras no y la tripartita es un medio más para trincar, pero quien más se debería preocupar somos nosotros mismos.
Lo que fastidia es ver la nómina y ver lo que te quitan para "formación"
#46 La POO lo único que hace es complicarte innecesariamente la vida, salvo que tengar que programar ventanitas, que para ese tipo de mariconadas sí que está bien. Para todo lo demás, C y Fortran. Y si alguien piensa que no se puede hacer con ninguno de esos dos lenguajes es que es un mal programador
#90 Hahaha. Mejor con ensamblador, como los hombres de verdad
Fortran aún se usa? C solo es para Sistemas operativos.
Aunque, como ya dije, yo no soy programador ni informático. Aunque en mi trabajo, de vez en cuando tengo que picar algo de código, es sobre todo de ventanitas
#91 La ciencia se sigue haciendo mayoritariamente en Fortran. C también es muy usado en ese ámbito. El ensamblador sigue usándose en librerías de cálculo matricial optimizadas
#100 Se hacen en Python tareas de gestión y/o de análisis a posteriori, que en la mayoría de los casos no necesitan gran eficiencia computacional, pero el machacar números (operaciones con matrices, FFT, resolución de ecuaciones diferenciales -que en la mayor parte de los casos se traducen en resolver sistemas de ecuaciones-, etc.) se hacen mayoritariamente en Fortran y a veces C. Y en el caso de los cálculos matriciales las librerías a las que se llama están escritas directamente en ensamblador, como la MKL, ACML, OpenBLAS (https://github.com/xianyi/OpenBLAS heredera de GotoBLAS), ATLAS, VecLib, ESSL, etc.
#90 Existe algo llamado Rust. Bajo nivel, y sin tanto comportamiento indefinido. Que en C hay que montar una fiesta cada vez que una línea se comporta como quieres.
#99 No más que otros lenguajes. Si a la gente ya se le ha olvidado el manejo de punteros y la gestión de memoria el undefined behaviour no es culpa del lenguaje
#90 Yo antes opinaba como usted. Lamentablemente, C++ me hizo caer en el pecado y, mientras C es la esposa que siempre ha estado ahí pero que ya no le ruboriza a uno como antes, C++ es la que llena mis noches de desenfreno. Pásese al pecado, caballero. Me lo agradecerá.
#42 Pues, en el proyecto en el que participo, controllers de 1000 líneas no son raros...y de la mitad de las cosas que le escupía a la cara a los desarrolladores, ni papa
#94 Lo que dije en #42 era un sarcasmo. ¿De verdad alguien prefiere tener 60 clases diferentes de 100 líneas a una de 6mil? Yo creo que no arregla nada, lo mejor es un término más intermedio.
#35 No he encontrado ningún caso en mi vida en las que una clase de 6000 líneas sea necesaria. Eso significa algunos problemas:
- Te va a costar tener en la mente por donde vas.
- Te va a costar probar esa clase. Hace demasiadas cosas.
- Te va a cotar depurar paso a paso.
La complejidad en informática es exponencial. Las posibles formas de combinarlo aumentan con el número de variables, ciclos, ifs, etc.
No necesariamente pero muy probablemente:
- Los metodos serán largos y con muchos niveles de anidación de los que la puedes liar parda con poner una llave fuera de su sitio. Pero aún puede que tengas varios Try Catch con dos bucles for y cosas ahí todas entrelazadas.
- Seguramente la clase viole el principio de un sola responsabilidad. Esto significa que cada clase debe hacer una única cosa: una clase para calcular un resultado. Otra clase para formatear el resultado. Si pasado mañana el jefe quiere cambiar de formato el informe... no tienes que cambiar el cálculo. Sabes que sólo tienes que cambiar el formatter por otro.
- Seguramente la función recibirá muchos parámetros porque hace muchas cosas. Pero aún como devuelva más de un parámetro y lo haga modificando parámetros de entrada.
Nota: toda regla tiene sus excepciones. Un XML con datos o un archivo de propierdades con las traducciones de palabras podría serlo. Aunque en este caso NO son una clase. También en los años 60 - 70 una llamada a un método podría ser más costosa.
#35 Uno de los principios SOLID, el primero, es Single Responsability, que dice algo así como que un clase debería tener una única responsabilidad. 6000 lineas de código en una sóla clase indica que esa clase tiene un montón de responsabilidades y que más que probablemente se pueda dividir en muchas clases con responsabilidades más concretas y mejor definidas.
6000 lineas es una exageración del video, en realidad es una autentica barbaridad, más de 200 0 300 ya deberían poner el foco sobre esa clase para revisar si el diseño es adecuado. Con 6000 lineas no es que este mal diseñada, es que no esta diseñada en absoluto, más bien es código vomitado sobre el teclado.
En 6000 lineas se viola el SRP (single responsability principle) con claridad pero no sólo eso, en tantas lineas da tiempo a violar prácticamente todos los principios de la Orientación a Objetos que se te ocurran (nivel de acoplamiento brutal con seguridad, cohesión ridícula, Open close me da la risa etc,etc). Por supuesto que es siempre evitable llegar a eso.
#57 ¿Y que me quieres decir?, Que lo hayas visto no significa que no sea una barbaridad. Aunque un millón de moscas coman mierda, la mierda sigue siendo mierda.
#35 una clase sólo debiera tener una responsabilidad entendiendo como tal una razón por la que cambiar: si se cambia la bbdd tengo q cambiarla, pero no si cambia el modelo...
Significa q debes dividir tu clase en varias clases pq tú clase hace demasiadas cosas, tener demasiadas responsabilidades.
#16 Esta cambiando el paradigma. Da igual lo mal que lo codifiques mientras sea un componente lo suficientemente pequeño y reeescribible en 1/2 semanas. (Grey Young para mas info)
Yo aún tengo que encontrar un servicio SOAP bien definido, la conversación suele ser esta:
-Trajencorbatao: Bueno y ya para los datos te conectas a nuestros WS
-Yo: Ok, puede ser con REST?
-Trajencorbatao: NO NO no no no nosotros somos profesionales enterprise no hipsters de silicon valley SOAP garantiza la validez blah blah XSD blah
-Yo: Ok pásame la URL del WSDL a ver que dice el SoapUI
...
-Yo: Oye tío, la petición sólo tiene un campo que se llama "peticion" que coño pongo dentro?
-Trajencorbatao: OK, espera que te mando un mail explicando el xml que metemos ahí sin esquema ni validar ni na de na.
-Yo: WTF
Las cosas claras, el video regulero, y el feed que le han pegado los trabajdores de la J&T, que ademas se ha notado muchisimo la subida repentina, me obligan a reportar.
#85 si fueras informático supongo que te reirías a carcajadas. Puede que sea el primer vídeo humorístico de un informático en toda la historia de la humanidad.
Ejem... como parodia de Pesadilla en la cocina es un cero patatero.
Menos mal que lo pone el título, porque es complicado saber a qué parodia. El único motivo de que esté meneada es porque aquí hay mucho que quiere demostrar que sabe tanto de programación que entiende las bromitas que se hacen.
mi jefe me recomendó leerme "The Phoenix Project" (The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win)
Empecé a leerlo con un poco de escepticismo y ya a la 2da página me atrapó! Comencé ayer y ya voy por la mitad y eso que yo no soy de leer libros, totalmente recomendable
Lo sorprendente es que las empresas de software siguen con su modelo tradicional: trabajar en la oficina. Y es, cuanto menos, curioso. Porque las empresas tecnológicas son las que más deberían apostar por el trabajo descentralizado.
Las oficinas son antros de dolor donde no pasan las horas. Es normal que la gente se desanime.
#64 Te sorprenderías cuantas empresas ofrecen ese modelo de trabajo descentralizado (trabajo desde casa) y muchos compañeros acaban acudiendo a la oficina con la misma asiduidad que antes, por diferentes motivos. Yo en mis últimos 3 puestos he disfrutado del privilegio de poder trabajar desde casa tanto como quisiera, con algún compañero que directamente vivía en otra provincia (y hasta otro país) y venía a la oficina unos pocos días al mes... y al final la mayoría de nosotros pasamos más tiempo en la oficina que fuera de ella. La productividad se nota cuando puedes discutir problemas y soluciones directamente.
Eso sí, yo he encontrado que el poder entrar y salir a la hora que quieras, trabajando solo unas horas al día en la oficina, y el resto desde casa, es perfecto para mí: organizo las tareas que requieran colaboración con compañeros en el horario que voy a estar en la oficina, y el resto del día me concentro mejor en la tranquilidad de casa. Voy y vengo a las horas que me viene mejor por temas de tráfico y atascos. Entre otras ventajas.
Sé de otros compañeros en otras empresas que siguen el mismo esquema y son mucho más felices ahora, que cuando trabajaban desde casa la mayoría del tiempo.
#80 Para un Junior, sí. Es buen material introductorio, aunque no hay que tomar ningun libro como la biblia. No hay apenas verdades universales. El mismo dice en su libro que solo presenta la perspectiva de una escuela de desarrollo software pero es consciente que hay otras bastante ortogonales. Por tanto, no seamos mas papistas que el Papa
Esta graciosete, teniendo en cuenta que mi curro consiste entre otras cosas en ir a empresas a ayudarles con desastres de este tipo, se siente uno identificado, me falta la camisa, tengo que buscarme una
Yo no soy programador ni nada por el estilo, pero veo bastante "código" y nunca he visto JSON dentro XML, pero a la inversa, XML dentro JSON o similares, muchas veces.
Eso no sé si está bien o no, pero para mi trabajo dificulta mucho el procesado de ese tipo de ficheros de texto.
Bueno, también de lo que estoy harto de ver es HTML (páginas web enteras) dentro de Excel. Y así, cosas equivalentes, que deberían ser ficheros de texto que acaban dentro de un Excel...
Comentarios
Esa camisa va a ser trending topic.
#2 para los que preguntan por la camisa: http://www.casadelasbatas.com/chaqueta-chef-estampada-calavera-de-colores-egochef.html
#82 Ofertón !!!!
#35 Te recomiendo que leas el libro de Clean Code porque básicamente va de explicar tu pregunta. La respuesta rápida es que probablemente rompa todos los principios SOLID, especialmente el de Responsabilidad única. Una clase de 6000 líneas va a hacer muchas más cosas de las que debe, va a ser difícil de testear, va a ser difícil de refactorizar, va a ser prácticamente imposible que tu compañero que está en tu proyecto entienda qué carajo pasa ahí, va a ser fácil que genere bugs y que estés perdiendo el tiempo.
Aquí tienes un buen resumen de un buen desarrollador que explica qué son los conceptos SOLID en español http://devexperto.com/principio-responsabilidad-unica/
#44 #48 #51 Una clase una sola responsabilidad? No será un método de clase una sola responsabilidad?
Según eso, para una página que tiene varias funcionalidades en vez de tener un controller con varios métodos que mapeen cada funcionalidad debería tener uno por cada una?
En el proyecto en el que yo estoy eso sería como ver un unicornio
#23 Yo tengo dos ingles, ¿crees que...?
#11 Has intentado cambiarte a un sitio dónde se valore tu trabajo alguna vez?
#14 Existen? pagan bien?
#17 Que halla que darte todo masticadito hombre http://stackoverflow.com/jobs
incluso para Spain salen muy buenos trabajos.
Lo de Spain ya entenderas que piden ingles
#23 haya*
#32 haiga*
#17 Existen y pagan normal, bien o muy bien. Incluso valoran a los empleados! Evidentemente no es Indra (con perdón a los trabajadores de indra) o similares
#26 como he dicho antws yo estoy en un carnica..y cero quejas no hago ni una hora de mas y se nos trata bastante bien...eso si el sueldo es una basura...
#17 sí existen sí, y pagan bien sí. Pero igual pillan fuera de las fronteras, no estoy seguro de que dentro conociendo como funciona España en general, quede alguno.
#27 Pues eso.
#17 45-50 Si eres bueno. Más, si quieres hacer también gestión.
#39 Y si eres del monton? cacahuetes?
#40 Ahi te moverias en torno a los 30-40K
#45 Pensaba que me dirias que me fuese a picar piedra a una carnica.
#47 También pagan bien en algunas cárnicas (eso significa que los clientes pagan muy muy bien). Otra cosa es que cuando salgas de la cárnica, seas un buen profesional. Eso ya es algo muy personal y cada uno intenta buscar el camino que mejor se adapta a su personalidad.
#52 Bueno, lo que todo el mundo busca es tener un desarrollo profesional en una empresa donde este agusto, no estar tirado como una colilla por ahi.
#53 Sólo destacar que una carrera profesional no tiene porqué ser sólo en una empresa. Se aprende muchísimo dependiendo de con quién te rodees y construyendo varios proyectos en distintos estados de su ciclo de vida o en consultoría en general.
#61 Hombre, vale que depende de quien te rodees pero eso depende en gran medida de la empresa, el personal que contrata, si te forma en cosas nuevas... Y que decir que el sueldo tiene que ir mejorando, sino no es carrera profesional, es sacame el curro que yo ya me he comprometido con el cliente, tu veras.
#63 Hay miles de empresas ahí fuera de verdad pero hay que esforzarse un poquito. Y no elegir la primera que pasa por tu lado. Cuando se hace una entrevista es para los dos lados, para ver si tú vales como programador y empleado, y para que tú veas si la empresa es decente, vas a poder aprender, van a valorarte y si te van a pagar decente. No vas a encontrar un trabajo de 50k euros de desarrollador a la primera, pero los hay, incluso en España. Y de mucho más sueldo incluso!
#17 yo estoy en una carnica..y pagat bien no pagan pero se esta bastante tranquilo...
#14 existen y fuera de España más, por desgracia. El asunto también es que esos sitios no pillan a todo el mundo sino que es complicado entrar.
He visto mucho desarrollador que está en consultora y que no hace nada por su cuenta, ningún proyecto, ningún estudio, nada relacionado con su carrera profesional que no se lo dé la empresa, los cuatro cursitos que monta para llevarse la pasta de la tripartita y ya. Así seguirá en esos curros de por vida porque hay empresas que piden gente muy preparada y gente muy preparada intentando entrar en esas empresas. Cuando digo preparada no me refiero a tener una carrera universitaria que terminé hace 8 años, eso a los 8 años ya no sirve para hacer ver a una empresa que eres el adecuado/a para ellos.
Hay que perder el miedo, echarle horas fuera del curro trabajando para nosotros mismos e intentar conseguir algo mejor. No es fácil y hay que sacrificarse, a veces moviéndose de ciudad o país, es una putada pero es como está el mundo ahora mismo, nos guste o no.
#65 perdón! Te vote negativo sin querer intentando hacer scroll con el móvil. Te compensó en otro.
#88 no te preocupes. Que todas las desgracias sean esas, negativos en meneame
Yo te voto positivo, ahora me debes dos
#65 La formación se la tiene que buscar cada cual. Los cursos tripartitos son puro entretenimiento.
#93 sasto. Algunas empresas se preocupan más por formar a su gente, otras no y la tripartita es un medio más para trincar, pero quien más se debería preocupar somos nosotros mismos.
Lo que fastidia es ver la nómina y ver lo que te quitan para "formación"
El actor que hace de alvarote brutal, parece ingeniero y todo!!
#1 Lo parece y lo es 😉
#60 pues si no le va bien como ingeniero q se dedique a la interpretacion,tiene madera
#1 Estudió informática conmigo. Bastante crack el chaval por cierto.
#11 ¿Has leído Clean Coding del mismo autor? Al final, los atajos no ahorran tiempo. Si no se va a llegar no se va a llegar por hacer mal código.
Se programa más rápido con buen código y bien diseñado. Las clases de 6000 líneas son las que tocas algo y se romper todo.
P.D: Muy realista todo... pero nadie dice nada del manager.
#16 Perdón Clean Coder: https://www.amazon.es/Clean-Coder-Conduct-Professional-Programmers/dp/0137081073/ref=sr_1_2?ie=UTF8&qid=1463406247&sr=8-2&keywords=clean+code
Y sí, 26.50 el electrónico y 35,33€ el de papel... en fin. Más caros son los cursos de Oracle.
#34 pues se compra!
Por cierto, tb sta en castellano.
#78 he ido a ver cuanto cuesta en castellano a Amazon y sólo hay de segunda mano por, atención al dato 363,64€ +2,99€ de gastos de envío.
Cómo se ha puesto de caro el tema de los gastos de envío!! No hay derecho!!
#16 Pregunta de ignorante. ¿Por qué una clase de 6000 líneas está mal diseñada?
¿Significa que hay código que se podría haber metido en otra clase?
Ciertamente, 6000 líneas de código son poco legibles, pero es siempre inevitable?
#35 En vez de una clase de 6000 líneas, lo que tienes que tener es 60 clases de 100 líneas. Mucho más legible.
#42 Pero si necesitas definir una clase "cuerpo" y para ella necesitas esas líneas, ¿lo puedes dividir en clases más pequeñas?
#46 Mira, lo mejor es usar el fractal adecuado que te genere todo el código de tu programa.
#46 Leete los libros que te han dicho...
Pero si antes tienes un rato, empieza por esta web: https://sourcemaking.com/refactoring
#46 La POO lo único que hace es complicarte innecesariamente la vida, salvo que tengar que programar ventanitas, que para ese tipo de mariconadas sí que está bien. Para todo lo demás, C y Fortran. Y si alguien piensa que no se puede hacer con ninguno de esos dos lenguajes es que es un mal programador
#90 Hahaha. Mejor con ensamblador, como los hombres de verdad
Fortran aún se usa? C solo es para Sistemas operativos.
Aunque, como ya dije, yo no soy programador ni informático. Aunque en mi trabajo, de vez en cuando tengo que picar algo de código, es sobre todo de ventanitas
#91 La ciencia se sigue haciendo mayoritariamente en Fortran. C también es muy usado en ese ámbito. El ensamblador sigue usándose en librerías de cálculo matricial optimizadas
#95 Yo diría que muchas cosas de ciencia van migrando a otros lenguajes como Python.
#100 Se hacen en Python tareas de gestión y/o de análisis a posteriori, que en la mayoría de los casos no necesitan gran eficiencia computacional, pero el machacar números (operaciones con matrices, FFT, resolución de ecuaciones diferenciales -que en la mayor parte de los casos se traducen en resolver sistemas de ecuaciones-, etc.) se hacen mayoritariamente en Fortran y a veces C. Y en el caso de los cálculos matriciales las librerías a las que se llama están escritas directamente en ensamblador, como la MKL, ACML, OpenBLAS (https://github.com/xianyi/OpenBLAS heredera de GotoBLAS), ATLAS, VecLib, ESSL, etc.
#90 Existe algo llamado Rust. Bajo nivel, y sin tanto comportamiento indefinido. Que en C hay que montar una fiesta cada vez que una línea se comporta como quieres.
#96 Si las líneas en C que escribes "no se comportan como quieres" quizás deberías de dicarte a otra cosa
#98 ¿Ahora me vas a negar que el lenguaje C está lleno de undefined behaviour?
#99 No más que otros lenguajes. Si a la gente ya se le ha olvidado el manejo de punteros y la gestión de memoria el undefined behaviour no es culpa del lenguaje
#99 Precisamente, es todo lo contrario. C es súper predecible.
#90 Yo ya he empezado a hacer la web de un cliente en C
#90 obviamente todo lo q se ha inventado después de C o Fortran esta equivocado pq tú lo dices...
Todo el mundo está loco menos tu...
Ya me se esa...
#90 Yo antes opinaba como usted. Lamentablemente, C++ me hizo caer en el pecado y, mientras C es la esposa que siempre ha estado ahí pero que ya no le ruboriza a uno como antes, C++ es la que llena mis noches de desenfreno. Pásese al pecado, caballero. Me lo agradecerá.
Un cordial saludo.
#42 Pues, en el proyecto en el que participo, controllers de 1000 líneas no son raros...y de la mitad de las cosas que le escupía a la cara a los desarrolladores, ni papa
#94 Lo que dije en #42 era un sarcasmo. ¿De verdad alguien prefiere tener 60 clases diferentes de 100 líneas a una de 6mil? Yo creo que no arregla nada, lo mejor es un término más intermedio.
#97 Ah bueno, lo estaba flipando...
#97 #94 pero es mas legible
#112 #97 #94 y no solo más legible:
6000 líneas en una clase FACILMENTE se conviertan en 20 de 100 líneas...
Así es la vida...
Y si, estoy en un proyecto q viene a ser así...
#35 No he encontrado ningún caso en mi vida en las que una clase de 6000 líneas sea necesaria. Eso significa algunos problemas:
- Te va a costar tener en la mente por donde vas.
- Te va a costar probar esa clase. Hace demasiadas cosas.
- Te va a cotar depurar paso a paso.
La complejidad en informática es exponencial. Las posibles formas de combinarlo aumentan con el número de variables, ciclos, ifs, etc.
No necesariamente pero muy probablemente:
- Los metodos serán largos y con muchos niveles de anidación de los que la puedes liar parda con poner una llave fuera de su sitio. Pero aún puede que tengas varios Try Catch con dos bucles for y cosas ahí todas entrelazadas.
- Seguramente la clase viole el principio de un sola responsabilidad. Esto significa que cada clase debe hacer una única cosa: una clase para calcular un resultado. Otra clase para formatear el resultado. Si pasado mañana el jefe quiere cambiar de formato el informe... no tienes que cambiar el cálculo. Sabes que sólo tienes que cambiar el formatter por otro.
- Seguramente la función recibirá muchos parámetros porque hace muchas cosas. Pero aún como devuelva más de un parámetro y lo haga modificando parámetros de entrada.
Nota: toda regla tiene sus excepciones. Un XML con datos o un archivo de propierdades con las traducciones de palabras podría serlo. Aunque en este caso NO son una clase. También en los años 60 - 70 una llamada a un método podría ser más costosa.
#48 pues yo he oído que ahora se llevan las de 7000 líneas, pero bien optimizadas ehhhh.
#35 Uno de los principios SOLID, el primero, es Single Responsability, que dice algo así como que un clase debería tener una única responsabilidad. 6000 lineas de código en una sóla clase indica que esa clase tiene un montón de responsabilidades y que más que probablemente se pueda dividir en muchas clases con responsabilidades más concretas y mejor definidas.
6000 lineas es una exageración del video, en realidad es una autentica barbaridad, más de 200 0 300 ya deberían poner el foco sobre esa clase para revisar si el diseño es adecuado. Con 6000 lineas no es que este mal diseñada, es que no esta diseñada en absoluto, más bien es código vomitado sobre el teclado.
En 6000 lineas se viola el SRP (single responsability principle) con claridad pero no sólo eso, en tantas lineas da tiempo a violar prácticamente todos los principios de la Orientación a Objetos que se te ocurran (nivel de acoplamiento brutal con seguridad, cohesión ridícula, Open close me da la risa etc,etc). Por supuesto que es siempre evitable llegar a eso.
#51 ¿que 6000 lineas es una barbaridad? He visto en sitios que no prefiero mentar codigos que hasta al notepad++ le costaba abrir...
#57 ¿Y que me quieres decir?, Que lo hayas visto no significa que no sea una barbaridad. Aunque un millón de moscas coman mierda, la mierda sigue siendo mierda.
#62 claro que es una mierda...
#57 Pues huye de ahí cómo de la enfermedad
Y ojo, que en todos lados cuecen habas: Ésta es la clase View (de la cual extienden todos los botones, textos, imágenes, layouts... de Android) https://android.googlesource.com/platform/frameworks/base/+/refs/heads/master/core/java/android/view/View.java
#66 ya huí hace tiempo
#35 una clase sólo debiera tener una responsabilidad entendiendo como tal una razón por la que cambiar: si se cambia la bbdd tengo q cambiarla, pero no si cambia el modelo...
Significa q debes dividir tu clase en varias clases pq tú clase hace demasiadas cosas, tener demasiadas responsabilidades.
#16 Esta cambiando el paradigma. Da igual lo mal que lo codifiques mientras sea un componente lo suficientemente pequeño y reeescribible en 1/2 semanas. (Grey Young para mas info)
#43 Puedes poner algún link para leer sobre el tema?
#67 Por supuesto:
Que va, esta noticia no ha subido a portada gracias a los currelas de job & talent.
Yo aún tengo que encontrar un servicio SOAP bien definido, la conversación suele ser esta:
-Trajencorbatao: Bueno y ya para los datos te conectas a nuestros WS
-Yo: Ok, puede ser con REST?
-Trajencorbatao: NO NO no no no nosotros somos profesionales enterprise no hipsters de silicon valley SOAP garantiza la validez blah blah XSD blah
-Yo: Ok pásame la URL del WSDL a ver que dice el SoapUI
...
-Yo: Oye tío, la petición sólo tiene un campo que se llama "peticion" que coño pongo dentro?
-Trajencorbatao: OK, espera que te mando un mail explicando el xml que metemos ahí sin esquema ni validar ni na de na.
-Yo: WTF
Off topic
Eso si que es una camisa moolona y no lasdadelmo,ailian ...¡aprended n00bs! x'DD
Este vídeo hace llorar a los devs de Indra.
Las cosas claras, el video regulero, y el feed que le han pegado los trabajdores de la J&T, que ademas se ha notado muchisimo la subida repentina, me obligan a reportar.
Os pudo la codicia.
#21 Exacto. No sabía si votar SPAM o microblogging.
El de ruby el mejor +1
#15 Los de Ruby somos los mejores
Por cierto covariante Vs contravariante:
https://en.wikipedia.org/wiki/Covariance_and_contravariance_%28computer_science%29
#30 Ya decía yo que ese chiste me descolocaba
https://en.wikipedia.org/wiki/Covariance_and_contravariance_of_vectors
(no soy ingeniero informático y lo que programo es Matemática Aplicada)
404, gracia not found
#85 si fueras informático supongo que te reirías a carcajadas. Puede que sea el primer vídeo humorístico de un informático en toda la historia de la humanidad.
#85 Al menos es un 404 no un 5XX. El problema esta en el cliente. Server Ok!
JSON dentro de un XML... me suena, me suena
Ejem... como parodia de Pesadilla en la cocina es un cero patatero.
Menos mal que lo pone el título, porque es complicado saber a qué parodia. El único motivo de que esté meneada es porque aquí hay mucho que quiere demostrar que sabe tanto de programación que entiende las bromitas que se hacen.
Es justamente esto sin la parte final:
Los friquis sois mucho friquis y muy friquis
buenísimo jajsj
muy bueno!
mi jefe me recomendó leerme "The Phoenix Project" (The Phoenix Project: A Novel about IT, DevOps, and Helping Your Business Win)
Empecé a leerlo con un poco de escepticismo y ya a la 2da página me atrapó! Comencé ayer y ya voy por la mitad y eso que yo no soy de leer libros, totalmente recomendable
https://www.amazon.es/Phoenix-Project-DevOps-Helping-Business/dp/0988262509/
por cierto ¿alguien sabe dónde se consigue la camisa?
Lo sorprendente es que las empresas de software siguen con su modelo tradicional: trabajar en la oficina. Y es, cuanto menos, curioso. Porque las empresas tecnológicas son las que más deberían apostar por el trabajo descentralizado.
Las oficinas son antros de dolor donde no pasan las horas. Es normal que la gente se desanime.
#64 Te sorprenderías cuantas empresas ofrecen ese modelo de trabajo descentralizado (trabajo desde casa) y muchos compañeros acaban acudiendo a la oficina con la misma asiduidad que antes, por diferentes motivos. Yo en mis últimos 3 puestos he disfrutado del privilegio de poder trabajar desde casa tanto como quisiera, con algún compañero que directamente vivía en otra provincia (y hasta otro país) y venía a la oficina unos pocos días al mes... y al final la mayoría de nosotros pasamos más tiempo en la oficina que fuera de ella. La productividad se nota cuando puedes discutir problemas y soluciones directamente.
Eso sí, yo he encontrado que el poder entrar y salir a la hora que quieras, trabajando solo unas horas al día en la oficina, y el resto desde casa, es perfecto para mí: organizo las tareas que requieran colaboración con compañeros en el horario que voy a estar en la oficina, y el resto del día me concentro mejor en la tranquilidad de casa. Voy y vengo a las horas que me viene mejor por temas de tráfico y atascos. Entre otras ventajas.
Sé de otros compañeros en otras empresas que siguen el mismo esquema y son mucho más felices ahora, que cuando trabajaban desde casa la mayoría del tiempo.
#64 Aquí tienes: 100% remoto. https://remoteok.io/
#9 No es precisamente un libro que se centre en la varianza y contravarianza de tipos...
#38 para nada. 0.
Es brutal. Me pareció brutal como explica todo... Esas cosas q mas o menos tienes en la cabeza pero q no sabes pq.... GRANDISIMO Bob
#80 Para un Junior, sí. Es buen material introductorio, aunque no hay que tomar ningun libro como la biblia. No hay apenas verdades universales. El mismo dice en su libro que solo presenta la perspectiva de una escuela de desarrollo software pero es consciente que hay otras bastante ortogonales. Por tanto, no seamos mas papistas que el Papa
He de reconocer q gracias a uncle bob me gusta más aún mi trabajo...
#81 Imaginate que el tio estuviese financiado por Everis y cia...muahahaha
Es, es el de los culos de Magic??
http://imgur.com/a/SjcgE
#36 Es un chico gordito con un poco de pelo facial... todos se parecen.. (a mi me pasa, que nos confunden a los barbudos )
Alvarote es un crack!!
Esta graciosete, teniendo en cuenta que mi curro consiste entre otras cosas en ir a empresas a ayudarles con desastres de este tipo, se siente uno identificado, me falta la camisa, tengo que buscarme una
Yo no soy programador ni nada por el estilo, pero veo bastante "código" y nunca he visto JSON dentro XML, pero a la inversa, XML dentro JSON o similares, muchas veces.
Eso no sé si está bien o no, pero para mi trabajo dificulta mucho el procesado de ese tipo de ficheros de texto.
#18 yo de lo peor que he visto ha sido SQL like transformado en XML en un SOAP .... xxxyyy
Necesito ducharme.
#20 Dios,
Bueno, también de lo que estoy harto de ver es HTML (páginas web enteras) dentro de Excel. Y así, cosas equivalentes, que deberían ser ficheros de texto que acaban dentro de un Excel...
#20 Y que tiene eso de malo?
#75 Es como meter una botella dentro de una garrafa.
JAJAJA me ha encantado ! vaya curre, desde luego Alvarote hace un papelón
Deja Vu.
¿Cómo se llama el libro que pide que copie a mano?
#6 Clean Code, de "Uncle Bob" Martin: https://www.amazon.co.uk/Clean-Code-Handbook-Software-Craftsmanship/dp/0132350882
Excelente libro.
#8 La biblia de la programación diría yo
#9 La calidad del codigo se mide en WTF
#8 De que sirven todos esos libros si lo que se pretende es que las cosas se hagan para ayer y sin pasarte de las 4 horas que han vendido.
#11 Para luego ir recorriendo el proyecto y limpiándolo de //TODO y //HARDCODED
#11 ostia, es q haciendo mierda no se llega a ningún lado...
Ese libro es un MUST.
#8 24.79 libras el libro normal, y 23.55 libras la versión para Kindle. Y luego la gente se pregunta por qué no despega el libro electrónico.
#13 Existen libros electrónicos a menor precio, pero las editoriales grandes no quieren perder beneficios.
#6 El que sale de mi ano.
#10 Deja de meterte libros por el culo!
#56 jamas!
Estaría bien un programa de estos por Everis, Accenture,...
Supongo que gracia tendrá. Pero no me entero de nada