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

 
George Merts:

1. Não em nenhuma medida. A rentabilidade não depende do AOP.

2. Em minha opinião, por uma ordem de grandeza (dez vezes). Mas o principal ganho do OOP está no suporte ao código. Agora eu posso muito rapidamente fazer o código que escrevi há um ano ou mais. Lembro-me bem de como entendi meus primeiros programas ANSI C em estilo puramente processual. Foi muito mais difícil.


1. Esta é a principal resposta à necessidade do OOP.

2. É uma questão de experiência em equipe. Eu escrevi tudo o que precisava. Há alguns anos decidi escrever mais um pouco - tudo lê, sem problemas.


De suas respostas eu entendi uma coisa: OOP é um certo padrão que introduz a disciplina da programação, introduz uniformidade e sobre esta base, menos erros inicialmente e, mais importante e mais importante, reduz os problemas de modificação em princípio. Mas o mesmo resultado foi obtido com a observância cuidadosa dos GOSTs, estágios de desenvolvimento, documentabilidade.

 
СанСаныч Фоменко:

Não consigo entender por que NUNCA encontrei nada parecido com isto em meu trabalho. Por que haveria um problema de diferenciação de acesso variável para UM desenvolvedor em um programa não tão grande? Haveria 100 desenvolvedores, cada um escrevendo 100 funções. Teoricamente, ela poderia ser inventada. Mas praticamente, a programação evoluiu para OOP por quase 40 anos, montanhas de código foram escritas e eu nunca ouvi nada parecido.

Bem, no início, os programas eram escritos em código.

O OOP é apenas uma tecnologia que permite escrever programas mais complexos mais rapidamente e depois mantê-los com mais eficiência.

Mas isso não significa que o OOP seja uma solução de cura para todos. Eu digo que se você tem memória como Peter, você não precisa de OOP - declare tudo globalmente e isso é o fim, pois você se lembra de tudo e permite facilmente evitar colisões ou misturas de variáveis. Mas, eu tenho uma memória muito pior. E delimitação - Eu a utilizo muito. Durante os últimos anos, gostei muito do modificador Const - raramente o utilizei antes. Agora eu o uso com muita freqüência. Só para ter acesso apenas ao que eu preciso e não mais. Para que este acesso seja somente de leitura em locais onde não se pretende mudar.

 

George Merts:

Sim, de fato, há situações em que de repente se verifica que é quase impossível obter os dados de que você precisa. Elas estão escondidas atrás de várias interfaces virtuais. Entretanto, esta situação mostra claramente que o sistema não foi originalmente projetado corretamente, ele não previa a transferência destes dados. Esta situação é realmente muito desagradável. Temos que construir apressadamente "muletas" na forma de interfaces adicionais, ou reestruturar todo o sistema. Bem... motiva o programador a pensar mais cuidadosamente sobre a arquitetura do sistema.

Se o programador é um profeta e clarividente, vendo à frente e em todos os detalhes da estrutura de dados necessária para todas as variantes possíveis da idéia principal, então provavelmente faz sentido agir no seu caminho. Ou faça-o no estágio final, quando tudo já estiver funcionando e o código for depurado sem usar esses complementos, mas novamente, desde que nada precise ser alterado e reordenado...

 
СанСаныч Фоменко:

1. Esta é a principal resposta à necessidade do OOP.

2. É uma questão de experiência em equipe. Eu escrevi tudo o que precisava. Há alguns anos decidi escrever mais um pouco - tudo lê, sem problemas.

De suas respostas eu entendi uma coisa: O OOP é um certo padrão que introduz a disciplina da programação, introduz uniformidade e com base nisso, menos erros inicialmente e, o mais importante, os problemas durante a modificação são reduzidos fundamentalmente. Mas o mesmo resultado foi obtido com a observância cuidadosa dos GOSTs, estágios de desenvolvimento, documentabilidade.

1. Não. O OOP não é uma ferramenta para garantir a rentabilidade. E não se pode falar sobre a necessidade do OOP enquanto se olha para a rentabilidade. O OOP é uma ferramenta para simplificar o desenvolvimento e a manutenção de códigos.

2. é legal quando TCs de dez anos atrás ainda funcionam. Não posso viver assim, eles param regularmente de trabalhar para mim, tenho que modificá-los constantemente. E o OOP é uma grande ajuda para mim nisso.

E sobre o OOP - algum padrão, sim, tudo é verdade. E é verdade que você pode obter o mesmo resultado se você o mantiver escalonado e documentado. Mas me parece que é preciso mais esforço do que no caso do OOP.

 
George Merts:

No início, os programas eram escritos em código.

O OOP é simplesmente uma tecnologia que permite escrever programas mais complexos mais rapidamente, e depois mantê-los com mais eficiência.

Mas isso não significa que o OOP seja uma cura para todos. Eu digo que se você tem memória como Peter, você não precisa de OOP - declare tudo globalmente e tenha feito com ele, já que você se lembra de tudo e permite facilmente evitar colisões ou misturas de variáveis. Mas, eu tenho uma memória muito pior. E delimitação - Eu a utilizo muito. Durante os últimos anos, gostei muito do modificador Const - raramente o utilizei antes. Agora eu o uso com muita freqüência. Só para que eu não tenha acesso apenas ao que preciso e não mais. Para que este acesso seja somente de leitura nos locais onde não se pretende mudar.

No início, os programas eram escritos em código.

Não vamos torcer as coisas, certo?

O OOP é simplesmente uma tecnologia que permite escrever programas mais complexos mais rapidamente e depois mantê-los com mais eficiência.

Isso é questionável, e muito questionável.

Programas mais rápidos são escritos e mantidos eficientemente com boa documentação de projeto. Ecos deste problema podem ser encontrados no mercado, onde uma grande atenção é dada aos Termos de Referência. Se o TOR for péssimo, nenhum OOP ajudará.

 
СанСаныч Фоменко:

Os programas que possuem boa documentação de projeto são escritos e mantidos de forma mais rápida e eficiente. Ecos deste problema podem ser encontrados no mercado, onde uma grande atenção é dada aos Termos de Referência. Se o TOR for péssimo, nenhum OOP ajudará.

A questão é que a documentação do programa e os Termos de Referência são coisas diferentes. É muito estranho que você confunda os dois. Os programas modernos praticamente não precisam de documentação - tudo é apresentado nas interfaces de classe.
 
Andrei:

Se o programador é um profeta e clarividente, vendo à frente e em todos os detalhes a estrutura de dados necessária para todas as variantes possíveis da implementação da idéia principal, então provavelmente faz sentido agir no seu caminho. Ou faça-o no estágio final, quando tudo já estiver funcionando e o código for depurado sem usar esses complementos, mas novamente, desde que nada precise ser alterado e reordenado...

Bem, situações em que eu não previ a possibilidade de passar informações importantes através de uma interface são raras. Mas outra coisa é mais importante para mim - como corretamente dito acima de Igor - cada classe é responsável apenas por suas próprias variáveis, é impossível "mexer" com outras classes. Como resultado, a maioria dos problemas é cortada na fase de compilação.
 
George Merts:

O OOP é simplesmente uma tecnologia que permite escrever programas mais complexos mais rapidamente, e depois mantê-los com mais eficácia.

Como explicado acima, o OOP não se destina originalmente à escrita e depuração rápida de códigos por causa dos muitos invólucros adicionais, superestruturas intermediárias e adaptadores... Só faz sentido na fase final, quando tudo está funcionando e depurado e a estrutura de dados adquiriu sua forma final... Ou seja, é um procedimento puramente cosmético de código de embalagem pronta para armazenamento posterior...

 
George Merts:
Mas outra coisa é mais importante para mim - disse Igor corretamente acima - cada classe é responsável apenas por suas próprias variáveis, é impossível "entrar" nas variáveis de outra pessoa a partir dela. Como resultado, a maioria dos problemas é cortada na fase de compilação.

Uma classe tem apenas variáveis internas e nenhuma variável de entrada ou saída. Onde você já viu o uso na programação de tal objeto que não tem contato com o mundo exterior e ferve em seu próprio suco?

 
Ihor Herasko:
.... Os programas modernos praticamente não precisam de documentação - tudo está na palma de sua mão nas interfaces de classe.

Explique isto às metáforas: por que eles escreveram manuais enormes para o terminal, para o idioma e em geral, onde esta montanha de documentação para produtos de software em, por exemplo, Cp... Na verdade, há algum produto de software sem documentação? É estranho que você não consiga ver isso.

Razão: