Hey! Tudo bem?
Nesta edição, voltamos à programação raiz e selecionamos artigos sobre a linguagem mais amigável. Você vai entender porque é fácil amar Ruby, além de descobrir como usar uma técnica de otimização para aquela operação que sempre precisa ser executada antes de outra e como escrever uma linguagem natural que será interpretada por Ruby.
Você também vê um guia completo de Rails Service Objects, como melhorar o fluxo de trabalho com Git, dicas para escrever uma boa documentação de API, o que é o Princípio da Responsabilidade Única e qual é o objetivo da revisão de código.
Boa leitura!
RUBY
Como usar “memoize” em Ruby
Em Ruby, memoize é a técnica de otimização que dita “quando um método chama uma operação custosa, não chame essa operação toda vez que o método é chamado. Ao invés disso, chame aquela operação uma única vez, grave seu resultado e use-o para todas as subsequentes vezes em que esse método for chamado”. Nesse texto, você vai encontrar detalhes de como essa técnica funciona, além de exemplos de seus efeitos de otimização. Dica do Ederson de Lima.
Como fazer um interpretador Ruby rodar um programa em linguagem natural
Várias linguagens de programação prezam pela legibilidade do código, transformando as sintaxes para que sejam o mais próximo possível do natural, como é o caso do Ruby. Porém, por mais que elas tentem se aproximar, não podem efetivamente ser chamadas de linguagens naturais. Nesse texto, você aprende a escrever uma linguagem natural (em inglês regular) que será interpretada a partir do Ruby. Dica do Ederson de Lima.
Por quê amamos Ruby
Nós, da Campus Code, somos apaixonados pela linguagem Ruby. Acreditamos que ela seja uma das melhores linguagens para se ensinar programação, principalmente devido à sua sintaxe e neste artigo a autora compartilha os motivos pelos quais ela também ama Ruby. Dica do Lucas Perez.
CAMPUSCODERS INDICAM
Rails Service Objects: um guia completo
Rails vem com tudo que você precisa para prototipar sua aplicação rapidamente, mas quando o código começa a se desenvolver, você provavelmente vai se deparar com situações em que o convencional “Model gordo, Controller magro” já não vai funcionar mais. Quando sua regra de negócios passa a não caber em um Controller e um Model, os service objects entram em ação, permitindo operar melhor nossa aplicação. Nesse artigo, confira o que são service objects, como aplicar, quando utilizar e quando não utilizar. Dica do Uéslei Pereira.
Melhorando o fluxo de trabalho com Git
Git é uma ferramenta de controle de versão de software muito poderosa e amplamente utilizada por pessoas desenvolvedoras. A forma como você usa a ferramenta é o que define o quanto ela pode ser útil no seu dia a dia e, neste artigo, você verá uma estratégia interessante de fluxo de trabalho com Git para te ajudar a se organizar. Dica do Murilo Ramos.
Como escrever uma boa documentação de API
Além da responsabilidade de criar a API, muitas vezes a pessoa desenvolvedora também é designada a escrever a documentação desta API. A desvantagem disso é que ela provavelmente vai ser escrita com uma visão muito técnica. Neste artigo você vai aprender boas práticas para redigir uma documentação de API. Dica do Murilo Ramos.
Entendendo o Princípio da Responsabilidade Única
Em Engenharia de Software são bastante difundidos os Princípios de Projetos, que são diversas recomendações para que o projeto seja desenvolvido com qualidade. Um dos mais conhecidos é o Princípio da Responsabilidade Única que, mesmo tendo um nome autoexplicativo, é talvez o que mais tem divergências de entendimento. Confira neste artigo, de Carolina Dias, o que realmente é o Princípio da Responsabilidade Única. Dica do João Henrique do Vale.
Se a revisão de código é um gargalo, então qual é o seu objetivo?
É inegável que o code review (revisão de código) é um ponto de gargalo em qualquer fluxo de trabalho, mas ele realmente possui um propósito relevante. Neste artigo você verá uma discussão sobre a importância da revisão de código no fluxo de trabalho em desenvolvimento de software. Dica do João Henrique do Vale.