Kata significa exatamente o oposto do que você deveria estar se esforçando.
exercício que consiste em uma sequência dos movimentos específicos de uma arte marcial, usados no treinamento e projetados para mostrar habilidade na técnica
O termo Kata (origem: 1950–55; <japonês: forma, padrão), usado nas artes marciais, e sua pergunta é sobre memorização mecânica da memória muscular, como digitação por toque .
No Karate Kid original, encerar os carros, lixar o chão, pintar a cerca , todos esses Katas foram ensinados, completamente fora de contexto e, neste caso, sem explicação, apenas para fornecer memória muscular. Não foi até que um sensei entrou e deu a essas atividades vazias o contexto que elas significaram alguma coisa.
Eu acho que a mesma coisa se aplica aqui, sem um mentor para colocar as coisas em contexto, refazer a solução de problemas incorretos em vários idiomas não é melhor do que um único. Sem o mentor para lhe dizer onde melhorar, eles são uma perda de tempo.
É exatamente o oposto da resolução criativa de problemas, aprendendo novas variações de expressões idiomáticas e semânticas de uma linguagem ou plataforma.
Se você deseja digitar o System.out.println()
mais facilmente possível, praticar isso seria um Kata.
Se você deseja melhorar uma solução para um problema em uma implementação diferente , reduzir os requisitos de tempo e / ou espaço ou aplicar princípios mais idiomáticos, isso não é algo que o Kata o ajudará.
Já existe um termo aceito no setor para reimplementar a mesma coisa repetidamente, depois que ele já trabalha em busca de pequenas melhorias incrementais e benefícios questionáveis da perfeição, chamado de Revestimento de Ouro !
Os termos que eles deveriam ter usado são refatoração quando aplicados ao mesmo idioma / tempo de execução / plataforma. E portando ao mover um programa de trabalho para um idioma / tempo de execução / plataforma diferente. O Kata provavelmente foi escolhido erroneamente porque soa moderno, descolado e místico sem entender completamente a semântica.
Resolver diferentes problemas difíceis com pouco planejamento, experiência ou orientação é o que a maioria dos desenvolvedores, especialmente desenvolvedores juniores, tem que fazer todos os dias.
Somente acadêmicos fazem o mesmo exercício repetidamente apenas para aperfeiçoar uma solução específica. A habilidade de ter uma carreira de sucesso como desenvolvedor está na adaptação , não na repetição.
Quem disse que não existem pessoas inteligentes que não precisam estudar depois do trabalho e que podem aprender tudo o que precisam saber e, às vezes, mais nas 8 horas de trabalho?