Pular para o conteúdo principal

Postagens

Scrum - Manifesto de testes

Testes são muito importantes no cenário do desenvolvimento atual, logo nada mais natural que os testes passem a ser encarados dentro de uma perspectiva ágil. Sam Laing elaborou um manifesto com os seguintes diretrizes: Testar durante o desenvolvimento, mais que testar somente ao final Os testes ágeis devem começar logo no início do projeto e durante o desenvolvimento. É dever do time pensar e definir quais testes deverão ser criados e como serão criados, quais as estratégias de teste serão adotadas, quais riscos deverão ser evitados ou mitigados. Trabalhar a prevenção de defeitos, mais que procurar defeitos Via de regra, bom design, boa arquitetura e um desenvolvimento orientado a testes vai fazer com que se tenha menos defeitos.  Outro ponto essencial é o foco no valor, desenvolver somente o código estritamente necessário para atender ao que o cliente vai precisar ou que irá gerar valor para ele. E nada mais do que isso. Testar entendimentos, mais que checar

React - Forms

No React podemos trabalhar com formulários de maneira padrão, onde a submissão produz uma navegação para outra página, e da maneira "React", onde teremos controle dos componentes para controle dos dados. Componentes controlados Por padrão, os componentes html "input", "textarea" e "select" mantém o próprio estado de acordo com as entradas que o usuário realiza, como vimos, com o React fazemos essa atualização apenas por meio do "setState", mas para trabalhar com formulários trabalharemos com uma mescla dessas duas ideias, fazendo com que o estado controlado pelo React seja nossa verdadeira fonte de dados, nossa fonte da verdade. Para isso, basicamente precisaremos fazer com que o componente "input" tenha como valor uma das propriedades do estado e sempre que o valor do "input" for alterado atualizaremos esse estado: import   React   from   'react' ; class   FormularioNome   extends   React

Elixir - Olá mundo!

Nada melhor que "babysteps" para iniciar um aprendizado, nesse post criaremos o famoso "Olá mundo" no Elixir para mostrar o que é preciso para rodar nosso primeiro código. O que é preciso instalar? Inicialmente tudo o que precisamos instalar é o próprio Elixir, basta acessarmos a página oficial e baixar o instalador compatível com seu SO (no meu caso baixei o da M$  ;-]). Feito a instalação é muito simples testar, no prompt de comando basta digitar o comando "elixir -v": E agora? Nesse momento já teremos instalado em nossa máquina o console interativo IEx , responsável por avaliar nosso código Elixir, então primeiramente devemos inicializá-lo digitando "iex" e em seguida mostrando nossa mensagem: É isso, em breve nos aprofundaremos mais, até a próxima!

Scrum - Sobre equipes

Puxe a alavanca certa Mude o desempenho da equipe. Isso tem muito mais impacto – muito mais mesmo – do que o desempenho individual.  Transcendência Equipes excelentes têm um propósito maior do que o individual.   Autonomia Dê às equipes liberdade para tomar decisões sobre como agir – para que sejam respeitadas como mestres em suas respectivas áreas. A capacidade de improvisar fará toda a diferença, não importa se o grupo está cobrindo uma revolução no Oriente Médio ou vendendo algo.  Multifuncional A equipe precisa ter todas as habilidades necessárias para completar um projeto, não importa se a missão é produzir um software ou capturar terroristas no Iraque.  Menor é melhor Equipes pequenas trabalham mais rápido do que as grandes. A regra básica é que sete integrantes são o ideal – podendo ter mais ou menos dois. Eu diria que menos.  Culpar é idiotice Não procure as pessoas ruins, procure os sistemas ruins – aqueles que incentivam comportamentos errados

React - Ciclo de vida

Os componentes no React, assim como recursos de diversas outras tecnologias, possui um ciclo de vida bem definido, ou seja, sabemos exatamente as etapas executadas da criação a destruição de um componente. Os métodos do ciclo de vida de componentes são invocados em diferentes momentos, e eles podem ser organizados em três grupos: "mounting" onde são montados na tela, "updating" onde são atualizados e "unmounting" onde são desmontados e removidos da tela. Mounting Nesse momento temos a inicialização, a construção dos componentes (pré/pós) e a renderização. constructor Chamado antes que o componente seja montado: getDerivedStateFromProps Executado antes da renderização (render): render Único método puro, devendo sempre se manter puro, ou seja, sem modificar o estado do componente: componentDidMount Executado após a montagem do componente: componentWillMount (legado, não deve ser usado)

Scrum - O poder da adaptação

Hesitação significa morte Observar, Orientar, Decidir, Agir. Saiba onde você está, avalie suas alternativas, tome uma decisão e aja!  Olhe para fora para obter respostas Sistemas adaptativos complexos seguem algumas regras simples, que são captadas do ambiente.  Equipes excelentes  São multifuncionais, autônomas e capacitadas, com um propósito transcendente.  Não adivinhe Adote o ciclo PDCA. Planeje, faça, verifique, aja. Planeje o que você vai fazer. Faça. Verifique se o produto alcançou o resultado desejado. Aja em relação a isso e mude a forma como está fazendo as coisas. Repita o processo em ciclos regulares e, desse modo, alcance um aperfeiçoamento contínuo. Shu Ha Ri Primeiro, aprenda as regras e as formas. Quando tiver domínio delas, inove. Por fim, em um estado elevado de maestria, descarte as formas e apenas seja – com todo o conhecimento internalizado e as decisões tomadas quase inconscientemente. Trechos do excelente livro "Scrum: The Art

React - State

No exemplo anterior vimos o "props", capaz de armazenar propriedades que podem ser compartilhadas entre os componentes, e hoje veremos o "state", ambos são parecidos, porém o "state" é privado e controlado integralmente pelo componente. Também veremos eventos que serão capazes de alterar o estado de nosso componente assim como veremos como se comporta o ciclo de vida de um componente. State Como já foi dito, o "state" é privado e pertence ao componente, ele também possui outras peculiaridades: Modificando o estado Só é permitida a atribuição no construtor da classe, logo a única forma de alterar um valor no estado é por meio do método "setState", abaixo exemplo de atribuição no construtor e de alteração em um método chamado "alterarEstado": cosntructor(props) {     super(props);     this.state = { nome: 'Adamastor'}; } alterarEstado(novoNome) {     this.setState({         nome: novoNome