Alexey Viktorov: É melhor não começar por aí. Isto é o que o afugenta. Até eu, um apoiante do OOP que o conhece muito mal, tropeçei por causa deste texto... ...não entendeu nada. É por isso que eu estou tentando explicar a diferença no nível mais baixo.
Também pode ser mais simples.
OOP - permite que você defina uma única interface. Depois disso, todas as coisas específicas da plataforma "escondem-se" e não interferem com o trabalho.
É claro que você pode fazer isso numa abordagem puramente processual. Mas, a variante processual de apoio será mais complicada, devido ao fato de que em cada função teremos que lidar com todas as plataformas ao mesmo tempo.
Assim que o usuário chamar a função New_bar(), ele receberá uma resposta da mesma sobre o evento de um novo bar no prazo solicitado. Ao mesmo tempo, depois que a função é chamada, se um novo evento de bar tiver ocorrido - a bandeira do evento é apagada. Ou seja, a notificação de uma nova barra com o prazo desejado pode ser recebida apenas uma vez por barra. Após receber a notificação de um novo bar, este bar não é mais novo.
Aqui está a primeira versão da função. Você pode refiná-lo e desenvolvê-lo ainda mais. Se alguém notar um erro, por favor, comente.
À primeira vista, tudo parece estar bem. Eu não escavei muito.
Eu, pessoalmente, provavelmente apenas dividiria o tempo anterior e atual pela duração da barra, e se o valor tivesse mudado, uma nova barra apareceria. Mas, também é possível fazê-lo desta forma.
Quanto ao estilo - pessoalmente estou um pouco incomodado com o fato de que não se pode dizer que tipo de variável é (estou acostumado a "notação húngara, quando o prefixo de qualquer variável é uma abreviação de seu tipo"), mas talvez isso seja desnecessário.
Andrey Kisselyov: @Peter Konow mesmo sem o OOP você pode simplificá-lo, pensar e tentar.
Sinceramente.
Tanto quanto eu entendi corretamente. O objetivo é fazer com que funcione. Se ele tivesse postado um arquivo protegido com esta função, você nunca teria adivinhado que ele foi escrito desta maneira.
À primeira vista, tudo parece estar bem. Ainda não escavei fundo o suficiente.
Pessoalmente, eu provavelmente apenas dividiria o tempo anterior e atual pela duração da barra, e se o valor mudou, uma nova barra chegou. Mas, também é possível fazê-lo desta forma.
Quanto ao estilo - pessoalmente estou um pouco incomodado com o fato de que não se pode dizer que tipo de variável é (estou acostumado a "notação húngara, quando o prefixo de qualquer variável é uma abreviação de seu tipo"), mas talvez isso seja desnecessário.
Bem, a percepção de estilo é uma questão de hábito. Eu também tenho dificuldade para ler códigos dados em filiais. Isso só me irrita às vezes)).
OOP - permite que você defina uma única interface. Depois disso, todas as coisas específicas da plataforma "escondem-se" e não interferem com o trabalho.
Isso pode, é claro, ser feito em abordagem puramente processual. Mas, apoiar a variante processual seria mais difícil, devido ao fato de que em cada função você teria que lidar com todas as plataformas ao mesmo tempo.
Já foi discutido que uma única interface não é aplicável à programação de nenhuma tarefa computacional... Colocar coisas boas na forma de interfaces é um procedimento puramente cosmético que se aplica apenas ao código já concluído e que dificulta ainda mais o suporte e o refinamento do código...
Tanto quanto eu entendi corretamente. O objetivo é fazer com que funcione. Se ele tivesse postado um arquivo protegido com esta função, nunca teríamos adivinhado que ele foi escrito desta forma.
É desejável que não apenas funcione, mas que funcione rapidamente, com precisão, sem erros, tenha uma forma estruturada na fonte e claramente escrita.
É melhor não começar por aí. Isto é o que o afugenta. Até eu, um apoiante do OOP que o conhece muito mal, tropeçei por causa deste texto... ...não entendeu nada. É por isso que eu estou tentando explicar a diferença no nível mais baixo.
Também pode ser mais simples.
OOP - permite que você defina uma única interface. Depois disso, todas as coisas específicas da plataforma "escondem-se" e não interferem com o trabalho.
É claro que você pode fazer isso numa abordagem puramente processual. Mas, a variante processual de apoio será mais complicada, devido ao fato de que em cada função teremos que lidar com todas as plataformas ao mesmo tempo.
Peço desculpas pelo pequeno atraso.
Aqui está a primeira versão da função. Você pode refiná-lo e desenvolvê-lo ainda mais. Se alguém notar um erro, por favor, comente.
Respeitosamente.
Aqui está a primeira versão da função. Você pode refiná-lo e desenvolvê-lo ainda mais. Se alguém notar um erro, por favor, comente.
À primeira vista, tudo parece estar bem. Eu não escavei muito.
Eu, pessoalmente, provavelmente apenas dividiria o tempo anterior e atual pela duração da barra, e se o valor tivesse mudado, uma nova barra apareceria. Mas, também é possível fazê-lo desta forma.
Quanto ao estilo - pessoalmente estou um pouco incomodado com o fato de que não se pode dizer que tipo de variável é (estou acostumado a "notação húngara, quando o prefixo de qualquer variável é uma abreviação de seu tipo"), mas talvez isso seja desnecessário.
@Peter Konow mesmo sem o OOP pode ser facilitado, pense nisso e experimente.
Respeitosamente.
@Peter Konow mesmo sem o OOP você pode simplificá-lo, pensar e tentar.
Sinceramente.
Tanto quanto eu entendi corretamente. O objetivo é fazer com que funcione. Se ele tivesse postado um arquivo protegido com esta função, você nunca teria adivinhado que ele foi escrito desta maneira.
À primeira vista, tudo parece estar bem. Ainda não escavei fundo o suficiente.
Pessoalmente, eu provavelmente apenas dividiria o tempo anterior e atual pela duração da barra, e se o valor mudou, uma nova barra chegou. Mas, também é possível fazê-lo desta forma.
Quanto ao estilo - pessoalmente estou um pouco incomodado com o fato de que não se pode dizer que tipo de variável é (estou acostumado a "notação húngara, quando o prefixo de qualquer variável é uma abreviação de seu tipo"), mas talvez isso seja desnecessário.
Bem, a percepção de estilo é uma questão de hábito. Eu também tenho dificuldade para ler códigos dados em filiais. Isso só me irrita às vezes)).
Também pode ser mais simples.
OOP - permite que você defina uma única interface. Depois disso, todas as coisas específicas da plataforma "escondem-se" e não interferem com o trabalho.
Isso pode, é claro, ser feito em abordagem puramente processual. Mas, apoiar a variante processual seria mais difícil, devido ao fato de que em cada função você teria que lidar com todas as plataformas ao mesmo tempo.
Já foi discutido que uma única interface não é aplicável à programação de nenhuma tarefa computacional... Colocar coisas boas na forma de interfaces é um procedimento puramente cosmético que se aplica apenas ao código já concluído e que dificulta ainda mais o suporte e o refinamento do código...
Tanto quanto eu entendi corretamente. O objetivo é fazer com que funcione. Se ele tivesse postado um arquivo protegido com esta função, nunca teríamos adivinhado que ele foi escrito desta forma.
Saudações cordiais.