Shordi   28-01-2023, 11:58
#1
Cuando empiezas a programar te entra la fiebre de las líneas de código y te parece que cuanto más largo tu código, cuantas más líneas tengan tus funciones, más calidad tendrá. Luego empiezas a entender el valor de la simplicidad y caes en una fiebre por simplificar el código y llegar a hacer sentencias complejísimas. Finalmente encuentras el pulso justo. Tu código tiene lo que debe tener, ni más ni menos.

(Inciso tangencial: Así recuerdo, hace ya bastantes años, que alguien subió al foro antiguo una función que hacía no recuerdo qué con más de 200 líneas. Le sugerí algunas simplificaciones y al final me dejé llevar y le puse un equivalente que hacía lo mismo con 2 líneas. En un privado se me enfadó y me dijo que yo no quería ayudar, que sólo quería lucirme... una pena, porque me enfadé y desde entonces no le contesté a ninguno de sus temas.)

Pues después de meses de pelearme con algo que no me funcionaba como yo quería, de hacer pruebas y más pruebas, de llegar a perderme, de intentar esto, aquello y lo de más allá, anoche conseguí que me quedase perfecto... en sólo 4 líneas de código. Creo que han sido las líneas que más me ha costado en mi vida parir.

Te quedas con una grata sensación de triunfo... y otra no tan grata de ser bastante tonto por aquello de "¿y para esto tanto?".

Solo un desahogo era esto.


Saludos
Última modificación: 28-01-2023, 11:59 por Shordi.

No podemos regresar
tercoide   28-01-2023, 16:13
#2
cuanto mas sabe uno, mas corto es el codigo

al optimizar su código expusiste su inexperiencia lo que para la gente con baja autoestima es sinónimo de agesion

con el tiempo he aprendido a sugerir que "tal vez la solución sea ..." no porque no este seguro, sino para evitar la situación anterior

"Es mejor saber todo de muy poco que muy poco de todo" - anonimo
tincho   28-01-2023, 23:43
#3
(28-01-2023, 11:58)Shordi escribió: Finalmente encuentras el pulso justo. Tu código tiene lo que debe tener, ni más ni menos.

Ese es uno de los mejores momentos de la programación, creo.

(28-01-2023, 11:58)Shordi escribió: Así recuerdo, hace ya bastantes años, que alguien subió al foro antiguo una función que ...

Que lastima que esa persona no lo haya aprovechado, porque no hay nada mejor que alguien te muestre un código que hace lo mismo que el tuyo pero mas simple.

Como nota general, siempre es costoso en tiempo entender el código de otro programador, pero una vez que se paso la primera etapa de asimilación  generalmente se puede aprender bastante.
Un ejemplo de Tercoide:

Código:
  Dim x As Boolean
  'version tincho 
  If x = True Then
    x = False
  Else
    x = True
  Endif
  ' version terco
  x = Not x 

Esta claro cual versión es mejor, la mía Big Grin
Última modificación: 28-01-2023, 23:52 por tincho.

1 Saludo.
Shell   29-01-2023, 00:59
#4
(28-01-2023, 11:58)Shordi escribió: Te quedas con una grata sensación de triunfo... y otra no tan grata de ser bastante tonto por aquello de "¿y para esto tanto?".

Eso me suena.  Sad
 
(28-01-2023, 11:58)Shordi escribió: (Inciso tangencial: Así recuerdo, hace ya bastantes años, que alguien subió al foro antiguo una función que hacía no recuerdo qué con más de 200 líneas. Le sugerí algunas simplificaciones y al final me dejé llevar y le puse un equivalente que hacía lo mismo con 2 líneas. En un privado se me enfadó y me dijo que yo no quería ayudar, que sólo quería lucirme... una pena, porque me enfadé y desde entonces no le contesté a ninguno de sus temas.)

Y yo que pensaba que la mayoría de los que estamos aquí es por que nos gusta aprender y compartir algo común.
 
(28-01-2023, 23:43)tincho escribió: Esta claro cual versión es mejor, la mía

Claro, pero eso con algo de tiempo se aprende. Si se hace desde el principio, mejor. Pero eso no es fácil cuando se comienza.



"Quien no oye consejo, no llega a viejo", en este caso es el antónimo, que es el que le se le aplica mejor.

Ah y con el consejo, un enlace con paremia incluida. Shy
 
Cita:Una paremia es una unidad fraseológica (UF) constituida por un enunciado breve y sentencioso, que corresponde a una oración simple o compuesta, que se ha fijado en el habla y que forma parte del acervo socio-cultural de una comunidad hablante

Consejo no pedido, consejo mal recibido

Saludos

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
AlfredoSC   29-01-2023, 02:42
#5
(28-01-2023, 11:58)Shordi escribió: ¿y para esto tanto?"

Hace muchos años yo aprendí algo importante, y lo volqué en una frase que ya existía:

"Por qué hacer con más, lo que se puede hacer con menos?"

Allá por los 90's, fuí el empleado sustituto para una vacante en una empresa de electrónica y comunicaciones. El Jefe del área (que siempre son celosos de que llegue alguien mejor que él y le robe el puesto), me puso enfrente un proyecto, que estaba siendo desarrollado por el empleado que había renunciado. Se trataba de obtener una respuesta electrónica entre 2 dispositivos de comunicación, para lo cual el ingeniero anterior ya tenía en un proto-board unos 25 circuitos integrados, resistencias, capacitores, cables, en fin que aquello se veía imposible de retomar.

Yo analicé por mi cuenta el requerimiento original y las prestaciones de aquellos dispositivos de comunicación y en 2 días obtuve un circuito electrónico con 2 circuitos integrados (un comparador y unas compuertas NAND) que hacían lo requerido con lujo de seguridad y redundancia.

Lo presenté al jefe del área, quien al observar mi aparatejo, sonrió con incredulidad. Pero al verlo funcionar, seguramente pensó: "éste si me va a quitar mi puesto!", mas su reacción fue mostrarme su total reconocimiento a mi capacidad(?) y trabajamos juntos muy a gusto por varios años, hasta que migré a otro empleo.

Simplificar, ésa es la meta.

Es mejor saber un poco de todo, que todo de muy poco. Lo primero, garantiza la supervivencia humana.
Shordi   29-01-2023, 11:51
#6
Cita:con paremia incluida
Por aquí se les llama refranes Big Grin Big Grin

No podemos regresar
Shell   29-01-2023, 12:25
#7
(29-01-2023, 11:51)Shordi escribió: Por aquí se les llama refranes

Naturalmente, pero es que parece que hay una ciencia que se llama la paremiología que estudia los refranes, tal como suena.
¿ Refranología ?. Smile

(29-01-2023, 02:42)AlfredoSC escribió: Simplificar, ésa es la meta.

Pues si, ya que tanto en una función lógica que se crea en un lenguaje de programación como es simplificar una función a puertas nand y puertas nor,
es muy parecido.  Pero en el caso de la electrónica es más por la reducción de componentes en un circuito.

Estuve imaginando en que ejemplo de programación podíamos usar una Or exclusiva. Smile
A*¬B + ¬A*B

Para mostrar el signo de negación, intenté hacerlo de esta forma:

Signo de negación

Pero parece más para Windows. (Por cierto el título de la web no usa la tilde, no sé si por problemas que pueda crear el símbolo o por la traducción).

Este método de abajo si funciona. Aunque parece más complejo al tener que pulsar la tecla "u".

Cómo poner o escribir el signo de negación (¬) con el teclado

Saludos
Última modificación: 29-01-2023, 12:48 por Shell.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
Shordi   29-01-2023, 12:43
#8
(29-01-2023, 12:25)Shell escribió:
(29-01-2023, 11:51)Shordi escribió: Por aquí se les llama refranes

Naturalmente, pero es que parece que hay una ciencia que se llama la paremiología que estudia los refranes, tal como suena.
¿ Refranología ?. Smile

Yo tuve una tía abuela, refranóloga cum laude, que se los sabía todos, todos, todos. Era imposible encontrar una frase suya donde no insertara alguno.  Big Grin Big Grin

Lo curioso es que realmente hay una sabiduría enorme detrás de ellos...

Saludos

No podemos regresar
Shell   29-01-2023, 12:44
#9
(29-01-2023, 12:43)Shordi escribió: Yo tuve una tía abuela, refranóloga cum laude, que se los sabía todos, todos, todos. Era imposible encontrar una frase suya donde no insertara alguno.

Impresionante.

"El conocimiento es la mejor inversión que se puede hacer" - Abraham Lincoln
  
Usuarios navegando en este tema: 5 invitado(s)
Powered By MyBB, © 2002-2024 MyBB Group.
Made with by Curves UI.