Eu preciso acompanhar os últimos 7 dias de trabalho em um loop de leitura de arquivos planos. Está sendo usado para medir a fatigabilidade das listas de trabalho. Agora eu tenho algo que funciona, mas parece bastante detalhado e não tenho certeza se há um padrão que é mais sucinto. Atualmente, tenho uma classe Java com uma matriz estática para armazenar os últimos dados de x dias, então, ao ler o arquivo, retiro o primeiro elemento e mova os outros 6 (por um total de uma semana) de volta por um. O processamento desta matriz estática é feito em seu próprio método, ou seja. A minha pergunta: é uma abordagem de design razoável, ou há algo extremamente óbvio e simples de fazer essa tarefa. Obrigado. Eles pediram 30 de agosto 11 às 14:33. Agradeço muito, pessoal: eu recebi a mensagem: use um objeto de nível superior e aproveite o Métodos relevantes ou um buffer circular. Excelentes respostas, todas elas. Quando você pensa sobre isso, você sempre precisa ter acesso a toda a matriz para que você possa se livrar dessa primeira entrada - da qual eu não tinha certeza por minha conta. Eu aliviei que eu não tivesse perdido algum liner e estava basicamente em uma faixa razoável, se não eficiente e fácil. Isso é o que eu adoro neste site: respostas de alta qualidade e relevantes de pessoas que conhecem seu sht. Ndash Pete855217 30 de agosto 11 às 15:05 Por que você inicializa o runningTotal para null O que é seu tipo Onde é declarado Isso faria bem se você colocar alguns exemplos de código que se assemelham ao código Java atual. Em frente, minha crítica seria a seguinte: sua função faz demais. Uma função ou método deve ser coeso. Mais apropriadamente, eles devem fazer uma coisa e uma coisa apenas. Pior ainda, o que acontece no seu loop for quando x 5 Você copia runningTotal6 em runningTotal5. Mas então você tem duas cópias do mesmo valor na posição 5 e 6. No seu projeto, sua função movesshuffles os itens em sua matriz calcula o material total de impressões para o erro padrão retorna o total. Faz demais. Minha primeira sugestão não é mover coisas na matriz. Em vez disso, implemente um buffer circular e use-o em vez da matriz. Isso simplificará seu design. A minha segunda sugestão é dividir as coisas em funções que são coesas: tenha uma estrutura de dados (um buffer circular) que lhe permita adicionar a ela (e isso diminui a entrada mais antiga sempre que ela atinja sua capacidade.) Tenha a estrutura de dados implementada Interator tem uma função que calcula o total no iterador (você não se importa se você estiver calculando o total de uma matriz, lista ou operador circular). Não o chame total. Chame isso de soma, que é o que você está informando. Isso é o que eu faço :) Essa é a ótima informação de luis, no entanto, lembre-se de que esta função é uma pequena parte da funcionalidade da classe, e seria demais para adicionar muito código para torná-la perfeita. Você é tecnicamente correto, e eu entendo que meu código faz 39 muito muito39, mas, ao mesmo tempo, às vezes é melhor errar ao lado de um código menor e mais claro do que ir para a perfeição. Dadas as minhas habilidades em Java, mesmo fazer o pseudocódigo que você descreve a compilação me faria soprar meu orçamento neste (), mas obrigado pela descrição clara. Ndash Pete855217 31 de agosto 11 às 2:23 Hmmm, não é sobre a perfeição, mas sobre práticas industriais estabelecidas que conhecemos há 3 décadas. O código limpo é sempre um que é particionado. Temos décadas de evidências que indicam que este é o caminho a seguir no caso geral (em termos de custo-eficiência, redução de defeitos, compreensão, etc.). A menos que seja um código descartável por um tipo de coisa única. Nunca é dispendioso fazer isso quando se inicia qualquer análise de problema dessa maneira. Codificação 101, quebra o problema e o código segue, nem excesso nem dificuldade) ndash luis. espinal Ago 31 11 às 15:55 Sua tarefa é muito simples e a abordagem que você adotou é certamente boa para o trabalho. No entanto, se você quiser usar um design melhor, você deve se livrar de todo esse movimento numérico, você usa uma fila FIFO melhor e faz bom uso de métodos push e pop de forma que o código não reflete qualquer movimento de dados, apenas as duas ações de lógica De novos dados e remova dados com mais de 7 dias. Respondeu 30 de agosto 11 em 14: 49 Média móvel simples - SMA O que é uma média móvel simples - SMA Uma média móvel simples (SMA) é uma média móvel aritmética calculada adicionando o preço de fechamento da segurança por vários períodos de tempo e depois dividindo Este é total pelo número de períodos de tempo. Conforme mostrado no gráfico acima, muitos comerciantes observam que as médias de curto prazo devem ultrapassar as médias de longo prazo para sinalizar o início de uma tendência de alta. As médias de curto prazo podem atuar como níveis de suporte quando o preço sofre uma retração. Carregando o jogador. BREAKING DOWN Média de Movimento Simples - SMA Uma média móvel simples é personalizável, pois pode ser calculada por um número diferente de períodos de tempo, simplesmente adicionando o preço de fechamento da segurança por vários períodos de tempo e dividindo esse total pelo número De períodos de tempo, o que dá o preço médio da garantia durante o período de tempo. Uma média móvel simples suaviza a volatilidade e facilita a visualização da tendência de preços de uma segurança. Se a média móvel simples aponta, isso significa que o preço de segurança está aumentando. Se está apontando, significa que o preço das garantias está diminuindo. Quanto mais tempo for a média móvel, mais suave será a média móvel simples. Uma média móvel de curto prazo é mais volátil, mas sua leitura está mais próxima dos dados de origem. Significado analítico As médias móveis são uma importante ferramenta analítica usada para identificar tendências de preços atuais e o potencial de uma mudança em uma tendência estabelecida. A forma mais simples de usar uma média móvel simples em análise é usá-lo para identificar rapidamente se uma segurança está em uma tendência de alta ou tendência de baixa. Outra ferramenta analítica popular, embora ligeiramente mais complexa, é comparar um par de médias móveis simples com cada cobertura de intervalos de tempo diferentes. Se uma média móvel simples de curto prazo estiver acima de uma média de longo prazo, espera-se uma tendência de alta. Por outro lado, uma média de longo prazo acima de uma média de curto prazo indica um movimento descendente na tendência. Padrões de negociação populares Dois padrões comerciais populares que usam médias móveis simples incluem a cruz da morte e uma cruz dourada. Uma cruz de morte ocorre quando a média móvel simples de 50 dias passa abaixo da média móvel de 200 dias. Isso é considerado um sinal de baixa, que outras perdas estão em estoque. A cruz de ouro ocorre quando uma média móvel de curto prazo quebra acima de uma média móvel de longo prazo. Reforçada pelos altos volumes de negociação, isso pode indicar que outros ganhos estão em armazém.
Lsaquolsaquo cycle home jQuery Cycle Plugin - Beginners Demos 1 - Defina sua marcação e estilos Todos os exemplos nesta página usam a seguinte marcação e CSS: 2 - Escolha um efeito Você pode escolher entre os seguintes efeitos nomeados: blindX blindY blindZ cover CurtainX curtainY fade fadeZoom growX growY scrollUp scrollDown scrollLeft scrollRight scrollHorz scrollVert shuffle slideX slideY toss turnUp turnDown turnLeft turnRight revelar wipe zoom Você especifica o nome do efeito, passando uma string para o método do ciclo ou usando um objeto de opções e definindo a propriedade fx para o Nome do efeito desejado.3 - Escolha valores de velocidade e tempo limite Em seguida, você pode querer escolher valores de velocidade e tempo limite para controlar a velocidade e a frequência com que as transições de slide ocorrem. A opção de velocidade define o número de milissegundos que levará para a transição de um slide para o próximo. A opção de tempo limite especifica quantos milissegundos decor...
Comments
Post a Comment