coding weekly #261

Newsletters - 13/Set/2023 - por Campus Code
A sua newsletter da Campus Code • Edição 261 - Setembro de 2023

Hey! Tudo bem?

Esta edição traz mais uma rodada de conteúdos para aprofundar em Ruby e compreender porquê manter uma base de código pura na linguagem pode ser uma boa, refletir como você pode implementar TDD sem deixar seu trabalho truncado e uma volta à implementação de referência - o Ruby MRI, ou CRuby - para entender melhor objetos e classes.

Você também vê algumas diretrizes para manutenção de código de aplicações Elixir e Phoenix, um ponto de vista de porque o NuShell talvez seja o melhor shell da atualidade, a remoção do comando secret:setup no Rails 7.1, quatro tipos comuns para medir a cobertura do seu código e porque o Turbo 8 está largando o TypeScript.

Boa leitura!

RAILS

Animação de uma gema de ruby com pernas e braços, dançando enquanto sorri.
Quando Ruby supera C

Ruby é uma linguagem de programação implementada em C. Embora seja considerada bastante expressiva e divertida de usar, em alguns cenários seu desempenho pode deixar a desejar. Nestes casos, uma das possíveis soluções é escrever extensões em C ou Rust. Nesse artigo, no entanto, o autor apresenta pontos a favor de manter uma base de código pura de Ruby, visando melhorar as capacidades da linguagem em cenários de alto desempenho.

Desenvolvimento Orientado a Testes de forma orgânica

O desenvolvimento orientado a testes (Test Driven Development ou TDD) pode parecer uma forma dogmática de se construir aplicações, e isso provavelmente assusta algumas pessoas. Porém, pode ser implementado de maneira bastante orgânica no fluxo de criação de uma aplicação. Nesse artigo você poderá seguir o autor utilizando TDD e Ruby para construir uma biblioteca de formulários para Rails, de forma a entender melhor como TDD pode ser incorporado de forma leve e intuitiva em seus projetos, além de insights sobre como essa abordagem pode melhorar a qualidade do código.

Entendendo o CRuby: introdução a objetos e classes

Muitas vezes, acabamos aceitando e utilizando conceitos de programação mesmo que não façamos ideia de como aquilo funciona. Isso é bastante comum principalmente com as linguagens, pois pensamos mais em suas utilizações do que em como são construídas. Esse artigo vai ajudar a entender como o Ruby funciona a partir de sua implementação de referência, começando pela estrutura de classes e objetos.

CAMPUSCODERS INDICAM

As logos de Elixir e Phoenix sobre um diagrama representando módulos.
Diretrizes para manutenção de código de aplicações Elixir e Phoenix

Em Elixir, módulos englobam e expõem funcionalidades dentro de uma aplicação. Esse texto traz recomendações de Elixir e Phoenix para construir uma aplicação com manutenção de código facilitada, utilizando contextos.

NuShell

Existem diversos tipos de shell no universo da programação, cada um com seus prós e contras. E mesmo com os tipos diferentes, é muito comum que a grande maioria das pessoas acabe se limitando ao bash/zsh, por ser o mais comum. Pensando nas limitações de shells convencionais, o autor desse texto explica melhor porque elegeu NuShell como favorito, além de analisar os mais famosos e atuais tipos de shell e refletir sobre a pergunta: eles poderiam melhorar o suficiente a ponto de quebrar a inércia de se limitar àquilo que você já sabe?

Rails 7.1 remove o comando secret:setup

Secrets é uma feature do Rails que foi inserida com o lançamento do Rails 5.1, e que auxiliava na proteção de credenciais encriptadas e chaves de API. Com o passar do tempo, porém, a implementação dessa feature se mostrou confusa em diferentes cenários, demandando uma atenção sobre seu futuro. Resultado: na versão 7.1 do Rails, houve a remoção do comando "secret setup" e a depreciação dos comandos "secret show" e "secret edit". Veja como lidar com segredos e credenciais daqui pra frente.

4 tipos comuns para medir a cobertura do seu código

Cobertura de código é uma métrica que mede a porcentagem do seu código que seus testes estão executando. É uma métrica bastante importante, considerando que ela pode denunciar exatamente quais áreas não estão sendo validadas, mostrando a qualidade e a confiabilidade do código em projetos web. Aprenda 4 formas diferentes de medir essa cobertura.

Turbo 8 está largando o TypeScript

O criador do Ruby on Rails, David Heinemeier Hansson (o famoso DHH), explica o motivo da versão 8 do Turbo, um conjunto de ferramentas e bibliotecas que impulsiona a eficiência do desenvolvimento web em Ruby on Rails, abandonar o TypeScript. Além disso, traz insights sobre as escolhas de arquitetura em projetos de desenvolvimento web e como tomar decisões estratégicas para simplificar e aprimorar fluxos de trabalho.

Campuscoders que contribuíram com a curadoria da semana: Allan Siqueira, André Benjamim, Diogo Oliveira, Ederson de Lima e Roberto Júnior 💚

Campus Code