Normalmente, começar com uma nova tecnologia não é tão simples. Um iniciante se encontra em um mar sem fim de manuais e artigos de treinamento. Além disso, por trás de cada um desses materiais está a opinião pessoal de seu autor, e cada autor afirma que é pela boca que a verdade fala.
Do ponto de vista do senso comum, fica claro que nem todos os artigos publicados na Internet podem trazer benefícios reais; portanto, aqueles que estão tentando aprender algo novo precisam avaliar as publicações na tentativa de encontrar a resposta para a questão de gastar com elas. seu tempo.

Antes de sair com a cabeça para estudar, o programador precisa entender o básico da tecnologia de seu interesse. Então você precisa formar sua visão dessa tecnologia, aprender a pensar em termos dela. Como resultado, se alguém começa a aprender a reagir, primeiro precisa aprender a "pensar em reagir". E já que ele desenvolve essa qualidade em si mesmo, ele será capaz de se familiarizar significativamente com as opiniões de outras pessoas e, selecionando o mais valioso, se desenvolver na direção escolhida.
O autor do artigo, cuja tradução estamos publicando hoje, deseja compartilhar com todos que desejam aprender sobre o React durante a formação de sua própria visão dessa tecnologia, durante o estudo e o acúmulo de experiência nesse campo. Aqui ele fala sobre o que conseguiu entender em um ano, trabalhando como programador do React, realizando seus próprios projetos em seu tempo livre e compartilhando suas idéias em uma conferência em JavaScript.
React é uma tecnologia em constante evolução.
Como o React está em constante desenvolvimento, qualquer pessoa que queira dominar essa tecnologia deve estar preparada para manter constantemente seus conhecimentos e habilidades atualizados. Se você se lembra do anúncio do React 16.3.0, conhece o entusiasmo na comunidade de programadores que trouxe novos recursos. Entre eles estão o Contexto oficial da API, as API createRef e forwardRef, modo estrito e alterações no ciclo de vida do componente. A equipe principal de desenvolvedores do React e todos aqueles que deram uma contribuição viável para o desenvolvimento do projeto fizeram um trabalho incrível, tentando melhorar nossa estrutura favorita. Este trabalho não para. Assim, por exemplo, a versão 16.4.0 introduziu suporte para
eventos de ponteiro .
A reação continua a evoluir; a inovação é apenas uma questão de tempo. Entre essas inovações estão renderização assíncrona, armazenamento em cache, muitas mudanças esperadas no React 17.0.0 e algo que ninguém sabe.
Dado o exposto, é claro que, se você deseja permanecer na vanguarda do desenvolvimento do React, precisa estar ciente das inovações. Isso significa que você precisa saber como os novos mecanismos de estrutura funcionam e por que eles foram criados. Você precisa entender quais problemas eles resolvem e como eles simplificam o desenvolvimento.
Não tenha medo de dividir seu código em pequenos fragmentos
A reação é baseada em componentes. Isso sugere que esse conceito deve ser usado e dividir negativamente grandes partes de código em partes menores. Às vezes, um componente simples pode consistir em apenas 4-5 linhas de código e, em alguns casos, isso é completamente normal.
Você deve abordar a fragmentação do código para que, se um novo desenvolvedor se conectar ao seu projeto, ele não precise passar muitos dias entendendo como esse projeto funciona e como ele funciona.
// , ? return ( [ <ChangeButton onClick={this.changeUserApprovalStatus} text="Let's switch it!" />, <UserInformation status={status}/> ] );
Você não precisa criar componentes enormes que contenham toda a lógica necessária para o trabalho deles. Um componente, por exemplo, pode apenas descrever uma representação visual de uma entidade. Se o uso de componentes pequenos melhorar a legibilidade do código, facilitar o teste e facilitar o suporte ao projeto no futuro, a aplicação sistemática dessa abordagem é uma solução maravilhosa que afetará positivamente o trabalho de cada membro da equipe.
import ErrorMessage from './ErrorMessage'; const NotFound = () => ( <ErrorMessage title="Oops! Page not found." message="The page you are looking for does not exist!" className="test_404-page" /> );
O exemplo acima aplica propriedades estáticas. Antes de nós, existe um componente limpo, responsável por exibir a mensagem de erro
Not Found
e nada mais.
Além disso, se você não deseja que as classes CSS e os nomes das classes apareçam em todo o código, recomendo o uso de componentes estilizados. Isso pode melhorar significativamente a legibilidade do código.
const Number = styled.h1` font-size: 36px; line-height: 40px; margin-right: 5px; padding: 0px; `; //.. <Container> <Number>{skipRatePre}</Number> <InfoName>Skip Rate</InfoName> </Container>
Se você tem medo de criar muitos componentes pequenos devido ao fato de parecer que os arquivos deles estão obstruindo pastas com os materiais do projeto, pense em como estruturar seu código de maneira diferente. Eu usei a
estrutura fractal do projeto para organizar os materiais, e devo dizer que isso é simplesmente maravilhoso.
Não descanse em louros depois de entender o básico.
Às vezes, pode parecer que você não entende bem o suficiente para prosseguir com o estudo e o uso de coisas mais avançadas. Normalmente, como regra, você não deve se preocupar particularmente com isso - apenas comece a dominar o que lhe parece muito complicado e prove a si mesmo que é capaz de descobrir e usá-lo.
Por exemplo, se você estiver no início do caminho de um desenvolvedor do React, poderá encontrar muitos padrões de design aparentemente complicados que você deve explorar. Entre eles estão componentes compostos, componentes de alta ordem, adereços de renderização, componentes inteligentes, componentes mudos e muito mais (por exemplo, recomenda-se dominar a tecnologia de criação de perfil do desempenho dos componentes).
Domine todas essas tecnologias e você entenderá - por que e por que elas são usadas. Como resultado do estudo, você descobrirá que agora é mais conveniente desenvolver projetos no React.
// ? // , , . render() { const children = React.Children.map(this.props.children, (child, index) => { return React.cloneElement(child, { onSelect: () => this.props.onTabSelect(index) }); }); return children; }
Além disso, não tenha medo de usar algo novo no decorrer do trabalho, naturalmente, dentro de limites razoáveis. Ao mesmo tempo, não limite o uso de novas abordagens apenas a experimentos em projetos que você faz no seu tempo livre.
Se aqueles com quem você trabalha tiver dúvidas sobre suas inovações, saiba que isso é completamente normal. Esteja preparado para defender suas decisões com argumentos fortes a seu favor.
Seu objetivo deve ser resolver um problema existente, simplificar o desenvolvimento ou simplesmente melhorar a legibilidade do código que costumava parecer desarrumado. Mesmo que suas propostas, como resultado de discussões com a equipe, sejam rejeitadas, você aprenderá pelo menos algo novo, e isso é muito melhor do que não oferecer algo novo e não desenvolver como desenvolvedor.
Não procure complicar demais os projetos
Talvez esta recomendação lhe pareça contrária à anterior, dedicada a experimentos com novas tecnologias, mas, de fato, não é assim. Em toda parte, na vida, na programação, precisamos de equilíbrio. Não simplifique demais algo apenas para demonstrar aos outros o seu próprio progresso. É melhor abordar o que está acontecendo em termos de praticidade. Escreva um código fácil de entender e que resolva as tarefas atribuídas a ele.
Por exemplo, se o Redux não é necessário no seu projeto, mas você deseja usar esta biblioteca apenas porque todo mundo a usa, e você realmente não pensa nos objetivos de usar o Redux, não faça isso. Melhor - lide com o Redux, construa uma compreensão dessa tecnologia e, se perceber que o que está acontecendo no seu projeto é contrário ao que você entende, esteja preparado para defender seu ponto de vista.
Às vezes, parece que, usando a tecnologia mais recente e criando código complexo, você diz ao mundo inteiro algo assim: “Não sou desenvolvedor iniciante, sou profissional. Este é o código que estou escrevendo!
Honestamente, eu mesmo estava no início da carreira de um desenvolvedor. Mas, com o tempo, chega à conclusão de que o código que é escrito sem o desejo de provar algo a alguém, código no qual as tecnologias não são usadas apenas porque podem ser usadas nele, sem sérias razões para recorrer a essas tecnologias, torna muito mais fácil a vida de qualquer desenvolvedor. Aqui está o que isso significa:
- Não apenas quem entende o design deste projeto, mas também outros membros da equipe podem trabalhar em um projeto que não é muito complicado. Como resultado, as tarefas de desenvolvimento, correção de bugs, testes e muitas outras podem ser resolvidas não apenas pelo criador deste projeto.
- Outros programadores podem entender o que você está fazendo sem gastar muito tempo ouvindo suas explicações. Você pode atualizá-los em alguns minutos.
- Quando o desenvolvedor principal, por exemplo, sai de férias por duas semanas, outros são livres para assumir suas tarefas e não precisam passar um dia inteiro de trabalho no que é feito por algumas horas.
As pessoas são boas para aqueles que não complicam suas vidas. Portanto, se você quer ser respeitado pela equipe e estar em boa posição com seus superiores, tente escrever um código para a equipe, não para si mesmo. Como resultado, você se tornará uma pessoa com quem é fácil e agradável trabalhar.
A refatoração está OK
Você, durante o trabalho em um determinado projeto, pode mudar seu ponto de vista dezenas de vezes em algumas coisas, e o gerente de projeto pode revisar com mais frequência suas opiniões. Alguém critica o que você fez e você, se a crítica é justificada, começa a mudar alguma coisa; você critica o trabalho de outras pessoas e elas, ouvindo você, refazem o que escreveram. Como resultado, o código precisa ser constantemente reescrito.
Não tome isso como algo negativo. Dado que os programadores constantemente precisam aprender algo novo, a refatoração é completamente normal. Desenvolvimento é geralmente o caminho da tentativa e erro. E quanto mais alguém tropeça, seguindo esse caminho, mais fácil será para ele lidar com as dificuldades e seguir em frente.
No entanto, para garantir que a refatoração não se torne um pesadelo, recomenda-se que seja dada atenção suficiente aos testes. Sinta-se livre para testar tudo o que pode alcançar. Talvez todo programador já tenha encontrado ou ainda encontre uma situação em que bons testes o ajudarão a economizar uma tonelada de tempo. E se você, como muitos outros, acha que os testes são uma perda de tempo, tente levá-los de maneira diferente do que antes. Ou seja, aqui estão os benefícios que o desenvolvedor e sua equipe obtêm de bons testes:
- Você não precisa ficar de fora com os colegas por um longo tempo, explicando a eles como tudo funciona.
- Você não precisa explicar os motivos pelos quais algo deu errado.
- Você não precisa corrigir os erros de outras pessoas.
- Você não precisa corrigir os erros que apareceram algumas semanas após o lançamento.
- Graças à organização precisa das verificações do projeto, você tem tempo para resolver vários problemas que não estão relacionados a erros de depuração que vêm do nada.
De fato, aqui está apenas uma pequena lista dos benefícios que um programador e seus colegas recebem de um sistema de teste de projeto bem organizado.
O amor pelo trabalho é a base do sucesso
Há um ano, decidi me tornar um desenvolvedor React mais avançado. Queria, entre outras coisas, falar em vários eventos, compartilhar a alegria de aprender coisas novas com outras pessoas.
Eu posso sentar no computador a noite toda, fazendo o que amo e curtindo cada minuto do que está acontecendo. O ponto aqui é que, se uma pessoa realmente luta por algo, então, de uma maneira ou de outra, tudo à sua volta ajuda-a a atingir a meta. Por exemplo, recentemente falei em uma pequena conferência na frente de duzentos espectadores.
Durante esse período, eu cresci como desenvolvedor do React, aprendi muito. Em particular, isso se aplica a vários padrões de design, princípios de desenvolvimento de projetos, mecanismos de estrutura interna. Agora posso me comunicar sobre tópicos que antes me pareciam inacessíveis e, além disso, posso ensinar aos outros o que não me atrevia a olhar antes. Ao mesmo tempo, hoje sinto o mesmo prazer e prazer de um ano atrás.
Portanto, eu recomendaria a todos que se perguntassem: "Você gosta do que faz?" Se a resposta a esta pergunta for negativa, encontre o que você realmente gosta, algo sobre o qual possa falar por horas, algo que possa fazer dia e noite, sentindo-se completamente feliz. Para crescer e se desenvolver em qualquer campo, todo mundo precisa encontrar o que gosta. O homem não pode ser forçado a ter sucesso em nada. Uma pessoa só pode ter sucesso quando conscientemente e com prazer faz o que gosta.
Se eu pudesse voltar um ano atrás e me encontrar lá, diria isso para mim mesmo, a fim de me preparar para o grande e interessante caminho que me espera.
Caros leitores! Quais dicas, inspiradas na experiência, você poderia compartilhar com desenvolvedores da Web iniciantes?
