criando funções que saibam lidar com erros
olá.

no contexto de boas praticas, qual(is) método(s) são os mais indicados para que nossas funções não interrompam o processo ao se depararem com algum erro? eu tenho usado a função trycatch() e recém descobri a possibly() e outras da familia no purrr::.

são essas mesmas as opções? há outras? qu…
resumindo aqui a resposta que demos em aula: essas duas são mesmo as melhores opções e o uso depende muito de qual o seu objetivo. se você quiser capturar o erro e agir sobre ele, melhor a trycatch(); nas outras situações é melhor a possibly().

nossa única outra recomendação é evitar ao máximo o us…
Erros que são difíceis de reproduzir é o único mais difícil de resolver. O que você precisa ter certeza de que você encontrou a raiz do problema, mesmo que o problema não pode ser reproduzido com sucesso.


Os erros intermitentes mais comuns são causados ​​por raça-condições - ao eliminar a raça, ou garantir que um lado ganha sempre de ter eliminado a raiz do problema, mesmo se você não pode confirmá-la com sucesso, testando os resultados. A única coisa que você pode testar é que a causa não precisa se repetir.


fixação, por vezes, o que é visto como a raiz de fato resolve um problema, mas não o caminho certo - não há como evitar isso. A melhor maneira de evitar erros intermitentes é ser cuidadoso e metódico com o projeto do sistema e arquitetura. <p>oi,</p>
<p>acho que os patterns <code>command</code> e <code>observer</code> seriam os mais apropriados para esse caso.</p> <p>sim, acredito que sim.</p><p>existem alguns motivos que precisam ser considerados na seleção de um idioma para um novo projeto:</p><ul> <li>velocidade em tempo de execução. comparado com c/c++/fortran, perl e python são tão lentos que é engraçado.</li> <li>velocidade de inicialização. comparado às linguagens rápidas acima, <em> java</em> cai e chora enquanto a jvm continua carregando e carregando e ...<code>while(1)</code>....</li> <li>capacidade de protótipo. examinar exaustivamente e executar o trabalho de declaração/definição necessário para c++ ou java aumenta o loc, que é a métrica conhecida <em> somente</em> que se correlaciona de maneira confiável com as contas de erros. também leva muito tempo. também requer um pouco mais de reflexão sobre tipos e conexões.</li> <li>fiddlability interno. mexer dinamicamente com seus internos é ótimo até você começar a depurar seu <em> código auto-modificável</em>. (python, lisp, perl)</li> <li>verificação de correção. um compilador pode fornecer uma passagem rápida e semi-correta do seu código em c++, e isso pode ser <em> realmente</em> legal.</li> <li>detalhes da análise estática. c e java têm uma análise estática muito boa. perl não é completamente estaticamente analisável em um nível <em> teórico</em> (possivelmente python também). tenho certeza de que o lisp também não.</li> <li>plataformas estranhas levam apenas c, em geral.</li> <li>cadeia de suporte. se você pode ter um contrato no qual você <em> irá</em> fará com que seus erros sejam analisados ​​e trabalhados, isso é <em> enorme</em>.</li> </ul><p>se você pode presumir que a organização com a qual você está trabalhando tem o princípio "avançar" (existe um termo contábil para isso) e <em> não vai</em> apenas decida aleatoriamente não trabalhar no software , você terá um argumento muito melhor para usar o software. como não há grandes empresas <em> venda</em> (implicando em assumir a responsabilidade de mantê-la) python/perl/$ dynamic\_language, reduz consideravelmente o risco.</p><p>na minha experiência, os mantenedores de código aberto geralmente têm um problema em assumir total responsabilidade por correções de bugs e liberar atualizações. "é grátis, você trabalha nisso!" é <strong><em> não</em></strong> uma resposta que é aceitável para a maioria das empresas (não para suas principais competências, entre outras coisas).</p><p>claro, eu não estou falando sobre o mundo dos webapp/startup, que tende a seguir regras de alto risco/alta recompensa e estar <em> muito</em> aberto a permanecer na margem da tecnologia.</p> <p>o que significa "o tempo todo"? se acontecer uma vez por dia, eu escreveria um pequeno roteiro para testar os serviços para o estado de execução para descobrir se eles param em um horário específico. então tente descobrir o que mais está acontecendo ao mesmo tempo.</p><p>se acontecer a cada poucos minutos, monitoraria os processos com o 'monitor de processo' do sysinternal para descobrir quais arquivos/threads são acessados ​​por último antes de cair.</p> para responder essa pergunta devemos colocar em prática nosso conhecimento sobre processos psicológicos.quatro erros são conhecidos ao tentar detectar um sinal. o primeiro a negação do sujeito de que o estímulo ocorreu, isto é também chamado de rejeição correta. o segundo é quando o sujeito diz equivocadamente que o estímulo ocorreu, conhecido como alarme falso. o terceiro, um estímulo ocorre, a negação da ocorrência do estímulo é chamada de erro por omissão. ao passo que uma alegação de ter detectado o estímulo é chamada de acerto.portanto, são quatro erros cometidos ao se tentar detectar um sinal, são eles rejeição correta, falso alarme, erro por omissão e acerto. as probabilidade de cada são iguais <p>uma que funciona bem é usar cores de fundo diferentes no seu shell para servidores de produção/teste/teste.</p> quando se trata de jogos o melhor seria passa os jogos pra verifica se alguém já conseguiu faze ele roda no linux ou no caso vocês pode pesquisar mesmo ai já pode aprende a como tira sua dúvida em jogos que queira joga. o fundamento do princípio da fungibilidade no processo trabalhista é o princípio da instrumentalidade das formas ou o princípio da finalidade, previsto no art. 277 do código de processo civil, e no princípio, também previsto no cpc, do aproveitamento dos atos processuais (art. 283 dp cpc):


art. 277. quando a lei prescrever determinada forma, o juiz considerará válido o ato se, realizado de outro modo, lhe alcançar a finalidade.

art. 283. o erro de forma do processo acarreta unicamente a anulação dos atos que não possam ser aproveitados, devendo ser praticados os que forem necessários a fim de se observarem as prescrições legais.

parágrafo único. dar-se-á o aproveitamento dos atos praticados desde que não resulte prejuízo à defesa de qualquer parte. <p>bom dia leandro,</p>
<p>sobre desempenho, o array\_map acaba sendo um pouco mais lento que o foreach. essa diferença acontece porque o array\_map resulta em várias chamadas de funções.</p>
<p>então é mais recomendado utilizar o foreach, mas na maioria dos casos você pode escolher baseado na sua preferência, pois apenas em maiores sistemas que essa diferença vai importar.</p> olá @paulo b,agradecemos a sua sugestão. trabalhamos todos os dias para dar aos nossos clientes os melhores produtos e serviços do mercado. esteja atento às novidades, assim que surjam, divulgamos nos canais habituais. 🙂