OOP vs. programación procedimental - página 41

 
George Merts:

Te acercas a un coche parado en el tráfico, miras cómo está montado y le dices al conductor: "¿Hay alguna forma más chula de confundir el problema, está a cien metros".

Como muestra mi experiencia, este tipo de "problemas complicados" son mucho más fáciles de entender que los EAs "sin complicaciones" hechos copiando de una sola plantilla con todas las variables globales.


Georges, hace poco me encontré con una vieja amiga mía, es contable y está intentando aprender 1C. En 2007 estaba tratando de averiguar su forraje y fue entonces cuando descubrí el MQL4.

He echado un vistazo a ese 1C y me ha dado asco ))

 
Реter Konow:

Dos años de trabajo ininterrumpido.

El núcleo de la interfaz gráfica (por cierto, también hay un proto-núcleo que contiene elementos del prototipo. Ocupa 2 megabytes. Consta de tablas como la que he citado) y contiene miles de variables. ¿Crees que si no utilizara el núcleo como centro y dispersara las variables en clases y estructuras y estableciera la comunicación entre ellas a través de diversas restricciones de acceso, habría cumplido con mi tarea? - Nunca por mi cuenta. Habría multiplicado el número de entidades en mi programa. Los enlaces dentro del código entre funciones y clases se volverían tan complejos que simplemente no podría seguir trabajando por mi cuenta. La eficacia de todo el mecanismo habría caído en picado.

Habría llegado a mi límite mucho antes y me habría detenido.

Muchas veces me he preguntado: "¿qué habría conseguido si hubiera utilizado la POO?" y cada vez, basándome en la práctica diaria, me he dado cuenta de que no podría haber llegado tan lejos por mí mismo.

Además, mi pensamiento ya está estructurado y, por lo tanto, no necesito la POO en este sentido.


Tengo una biblioteca de controles gráficos en mis artículos (por supuesto, también tiene defectos) - se hizo en una quincena, y dos semanas para escribir el artículo. Unos años más tarde lo utilicé al escribir otro artículo: todo me vino a la mente casi al instante al ver la lista desplegable de métodos, sin mirar el artículo ni el código.

 
Dmitry Fedoseev:

Tengo una biblioteca de controles gráficos en mis artículos (por supuesto, también tiene defectos) - se hizo en una quincena, y dos semanas para escribir el artículo. Unos años más tarde lo utilicé al escribir otro artículo: todo me vino a la mente casi al instante al mirar la lista desplegable de métodos, sin mirar el artículo ni el código.

No quiero menospreciar tu trabajo ni destacar el mío, pero estás comparando un elefante y un mosey. La escala es diferente. El nivel de complejidad es diferente. No sólo tengo un conjunto de controles. Es todo un entorno gráfico, que puedes construir con tu propio lenguaje de marcas. Y está dibujado, no basado en objetos.
 
Реter Konow:
No quiero menospreciar tu trabajo ni destacar el mío, pero estás comparando un elefante y un topo. La escala es diferente. El nivel de complejidad es diferente. No sólo tengo un conjunto de controles. Es todo un entorno gráfico, que puedes construir con tu propio lenguaje de marcas. Y está dibujado, no basado en objetos.

Sin embargo, no es un trabajo de dos años. La cantidad de trabajo es comparable al uso de objetos gráficos, pero por supuesto con el enfoque adecuado. Pero pasar dos años en él... Lo siento, muévete.

Añadimos la creación del lienzo, pero está en una clase padre, hacemos un método para dibujar un rectángulo y un par de métodos para dibujar las formas geométricas más simples. Todo lo demás es exactamente igual.

Y el hecho de que todos queráis desprestigiar mi trabajo hace tiempo que lo tengo claro, así que no hace falta ningún preámbulo. Esta biblioteca es como una roca de la discordia, que lleva a la multitud a la histeria colectiva.

 
Dmitry Fedoseev:

Sin embargo, no es un trabajo de dos años. La cantidad de trabajo es comparable al uso de objetos gráficos, pero por supuesto con el enfoque adecuado. Pero pasar dos años en él... Lo siento, muévete.

Y el hecho de que todos ustedes quieran humillar mi trabajo, lo he entendido desde hace tiempo, así que no hace falta ningún preámbulo. Esta biblioteca es como una roca de la discordia, llevando a la multitud a la histeria colectiva.

Humillar a la gente sin razón no está en mi naturaleza. No te pongas chillón, es que no lo entiendes. Probablemente no pueda explicarlo. Por lo tanto, piensa en ti como la "serpiente gorynych").
 
Реter Konow:
Humillar a la gente sin razón no está en mi naturaleza. No seas tan duro contigo mismo. No lo entiendes. Probablemente no podré explicarlo. Por lo tanto, piensa en ti como la "serpiente gorynych").

Piensa por ti mismo, pero no escribo durante dos años lo que se puede hacer en un mes.

 
Dmitry Fedoseev:

Piensa por ti mismo, pero no escribo durante dos años lo que se puede hacer en un mes.

Pues hazlo, ¿cuál es el problema?
 
Реter Konow:
Pues hazlo, ¿cuál es el problema?
No es necesario.
 
George Merts:


SanSanych sugiere que se sustituya la POO por la documentación.

Eres tú quien lo ha ideado, yo no lo sugiero.

De mi consulta.

  • El TdR es un documento de más de 400 páginas. Se revisan y aprueban los TdR
  • A continuación, el proyecto técnico. Este documento fue elaborado por entre 40 y 50 personas. Por profesión, son: economistas de diferentes especialidades, matemáticos, creadores de algoritmos, sysadmins en la terminología actual, ingenieros electrónicos.
  • A continuación, el borrador de trabajo. Aquí es donde aparece el desglose en programas de funciones. La codificación y la depuración reales están hechas. Se crea la documentación: para el desarrollador, para los diferentes usuarios de la CPU, para los diferentes usuarios de la aplicación (dirección, mandos intermedios, despachadores...).
  • Además, hay una operación de prueba. El principal indicador es el tiempo medio entre fallos. Si todo está bien hecho, documentado, y se tiene en cuenta el principio de la codificación primitiva, el tiempo entre fallos tras la siguiente captura de errores debería disminuir exponencialmente. Si es lineal, lo más probable es que no funcione NUNCA.

¿Dónde está la OOP aquí? La POO es un requisito corporativo durante el desarrollo. Y tiene poco efecto en el resultado final, pero puede ser muy útil (así me parece), si se encuentra una persona y desarrolla todas las clases para todo el proyecto, no mezclará nada, las clases serán naturales desde el objetivo final del proyecto....

 
Por favor, no te desvíes del tema del hilo.