Programação OOP vs procedimento - página 41

 
George Merts:

Você vai até um carro parado no trânsito, olha a forma como ele está montado - e diz ao motorista: "Há alguma maneira mais legal de confundir o problema, ele está a cem metros de distância".

Como mostra minha experiência, tais "problemas complicados" são muito mais fáceis de entender do que os EAs "sem complicações" feitos por cópia a partir de um único modelo com todas as variáveis globais.


Georges, encontrei-me recentemente com uma velha amiga minha, ela é uma contabilista e está tentando dominar o 1C. Em 2007, ela estava tentando descobrir sua forragem e foi quando eu descobri sobre a MQL4.

Eu dei uma olhada naquele 1C e me fez sentir mal ))

 
Реter Konow:

Dois anos de trabalho ininterrupto.

O núcleo da interface gráfica (a propósito, há também um núcleo protótipo contendo elementos protótipos. Ocupa 2 megabytes. Ela consiste em tabelas como a que citei) e contém milhares de variáveis. Você acha que se eu não tivesse usado o núcleo como centro e espalhado variáveis sobre classes e estruturas e estabelecido comunicação entre elas através de várias restrições de acesso, eu teria lidado com minha tarefa? - Nunca por minha conta. Eu teria multiplicado o número de entidades em meu programa. As ligações dentro do código entre funções e classes se tornariam tão complexas que eu simplesmente não seria capaz de continuar trabalhando por conta própria. A eficiência de todo o mecanismo teria caído a pique.

Eu teria chegado ao meu limite muito mais cedo e teria parado.

Muitas vezes me fiz a pergunta - "o que eu teria conseguido se tivesse usado o OOP?" e cada vez, com base na prática diária, percebi que não poderia ter ido tão longe sozinho.

Além disso, meu pensamento está estruturado como está e, portanto, não tenho necessidade de OOP a este respeito.


Tenho uma biblioteca de controles gráficos em meus artigos (claro que também tem falhas) - foi feita em uma quinzena e duas semanas para escrever o artigo. Alguns anos depois eu o usei ao escrever outro artigo - tudo me veio à mente quase que instantaneamente olhando para a lista suspensa de métodos, sem olhar para o artigo ou o código.

 
Dmitry Fedoseev:

Tenho uma biblioteca de controles gráficos em meus artigos (claro que também tem falhas) - foi feita em uma quinzena e duas semanas para escrever o artigo. Alguns anos depois eu o usei ao escrever outro artigo - tudo me veio à mente quase que instantaneamente ao olhar a lista suspensa de métodos, sem olhar para o artigo ou o código.

Não quero depreciar seu trabalho ou destacar o meu, mas você está comparando um elefante e um mosey. A escala é diferente. O nível de complexidade é diferente. Eu não tenho apenas um conjunto de controles. É todo um ambiente gráfico, que você pode construir com sua própria linguagem de marcação. E é desenhada, não baseada em objetos.
 
Реter Konow:
Não quero depreciar seu trabalho ou destacar o meu, mas você está comparando um elefante e uma toupeira. A escala é diferente. O nível de complexidade é diferente. Eu não tenho apenas um conjunto de controles. É todo um ambiente gráfico, que você pode construir com sua própria linguagem de marcação. E é desenhada, não baseada em objetos.

No entanto, não é um trabalho de dois anos. A quantidade de trabalho é comparável ao uso de objetos gráficos, mas, claro, com a abordagem correta. Mas passar dois anos nisso... Desculpe, passe para lá.

Nós acrescentamos a criação de telas, mas é em uma classe de pais, fazemos um método de desenho de um retângulo e um par de métodos para desenhar as formas geométricas mais simples. Tudo o resto é exatamente o mesmo.

E o fato de todos vocês quererem derrogar meu trabalho há muito tempo tem sido claro para mim, portanto não há necessidade de nenhum preâmbulo. Esta biblioteca aqui é como uma pedra de discórdia que tem levado a multidão à histeria em massa.

 
Dmitry Fedoseev:

No entanto, não é um trabalho de dois anos. A quantidade de trabalho é comparável ao uso de objetos gráficos, mas, claro, com a abordagem correta. Mas passar dois anos nisso... Desculpe, passe para lá.

E o fato de que todos vocês querem humilhar meu trabalho - há muito compreendi, portanto não há necessidade de nenhum preâmbulo. Esta biblioteca aqui é como uma rocha de discórdia, levando a multidão à histeria em massa.

Humilhar as pessoas sem motivo não é da minha natureza. Não seja franzino, você simplesmente não entende. Provavelmente não consigo explicar. Portanto, pense em você mesmo como a "serpente gorynych").
 
Реter Konow:
Humilhar as pessoas sem motivo não é da minha natureza. Não seja tão duro consigo mesmo. Você simplesmente não entende. Provavelmente não serei capaz de explicar. Portanto, pense em si mesmo como a "serpente gorynych").

Pense por si mesmo, mas eu não escrevo durante dois anos o que pode ser feito em um mês.

 
Dmitry Fedoseev:

Pense por si mesmo, mas eu não escrevo durante dois anos o que pode ser feito em um mês.

Então faça isso, qual é o problema?
 
Реter Konow:
Então faça isso, qual é o problema?
Não é necessário.
 
George Merts:


SanSanych ali sugere a substituição do OOP por documentação .

Foi você quem inventou isto - não estou sugerindo isto.

De minha prática.

  • O ToR é um documento de bem mais de 400 páginas. O ToR é revisado e aprovado
  • Em seguida, o projeto técnico. Este documento foi preparado por 40 a 50 pessoas. Por profissão, eles são: economistas de diferentes especialidades, matemáticos, fabricantes de algoritmos, administradores de sistemas na terminologia atual, engenheiros eletrônicos.
  • Em seguida, o rascunho de trabalho. É aqui que aparece a divisão em programas funcionais. A codificação e depuração propriamente dita são feitas. É criada documentação: para desenvolvedores, diferentes usuários na CPU, diferentes usuários de aplicações (gerência, gerência intermediária, despachantes...).
  • Além disso, há uma operação experimental. O principal indicador é o tempo médio entre falhas. Se tudo for feito corretamente, documentado, o princípio da codificação primitiva é levado em conta, o tempo entre falhas após a próxima captura de erros deve diminuir exponencialmente. Se for linear, o mais provável é que NUNCA funcione.

Onde está o OOP aqui? OOP é uma exigência corporativa durante o desenvolvimento. E tem pouco efeito no resultado final, mas pode ser muito útil (assim me parece), se uma pessoa for encontrada e desenvolver todas as aulas para todo o projeto, não vai misturar nada, as aulas serão naturais a partir do objetivo final do projeto....

 
Por favor, não se desvie do tópico do tópico do fio.
Razão: