
Alguma vez enquanto programava, você já descobriu algo novo e ficou pensando: “Como não soube disso antes? Isso teria me ajudado muito!”.
Neste artigo você conhecerá 10 dicas que podem facilitar tanto sua vida de desenvolvedor Ruby On Rails que você desejará ter as conhecido antes, então vem com a gente o/
Sumário
1. Rails Console: Recarregando Arquivos
Provavelmente você já entrou no rails console para testar algum código, depois foi até seu projeto e realizou alterações neste código, e por fim, desejou testá-lo novamente e precisou fechar e abrir novamente o rails console para utilizar o código atualizado.
O comando reload!
serve exatamente para recarregar os arquivos de seu projeto, evitando que você tenha que fechar o rails console e abri-lo novamente.
1 |
reload! |
2. Rails Console: Modo Sandbox
Muitas vezes utilizamos o rails console para realizar testes salvando registros em nosso banco de dados, mas não desejamos que eles continuem lá depois de finalizar este processo.
Já se pegou excluindo vários registros por causa disso?
Para evitar esta tarefa, utilize a flag --sandbox
junto ao rails console. Com isso, você definirá que todas as modificações no banco de dados realizadas ali serão revertidas após fechar o rails console.
1 |
rails console --sandbox |
3. Rails Console: Acessando o último resultado avaliado
Uma dica bem legal é que você pode acessar o ultimo resultado do rails console utilizando o caractere _ (underscore). Em alguns casos isso pode poupar nosso tempo.
Por exemplo:
Dentro do rails console, calcule quanto é 10 * 2 – 5 e depois utilize o caractere _ para somar + 3 ao resultado da operação anterior.
1 2 |
10 * 2 - 5 _ + 3 |
O underscore sempre representará o ultimo resultado avaliado no rails console.
4. Navegação Segura
Para que você compreenda, imagine o seguinte cenário:
Você tem um objeto chamado user
, que é dono de uma account
, e esta account tem um billing address
.
Para não correr o risco de tentar acessar o endereço de cobrança de um usuário que não possui conta, você já pode ter feito isso
1 2 3 |
if user && user.account && user.account.billing_address ... end |
O rails torna está tarefa mais compacta e eficiente através do método try
.
1 |
user.try(:account).try(:billing_address) |
Este código retornará o billing_address ou nil se algum valor ao longo dessa cadeia for nulo. No entanto, esta ainda não é a melhor solução.
Para este caso utilize a navegação segura
, que é feita utilizando apenas o operador&
.
1 |
user&.account&.billing_address |
Ela é semelhante ao método try, tendo apenas como diferença ser menos verbosa e mais elegante.
5. Hash#Dig
Leve em consideração o mesmo problema apresentado na navegação segura, porém, com o uso de Hash.
Imagine que você recebeu o seguinte parâmetro:
params[:user][:account][:billing_address]
Para realizar alguma instrução caso o parâmetro billing_address existir, você já deve ter feito algo do tipo
1 2 3 |
if params[:user] && params[:user][:account] && params[:user][:account][:billing_address] ... end |
Neste caso, utilize o método dig
, que é uma solução mais compacta e elegante.
1 2 3 |
if params.dig(:user, :account, :billing_address) ... end |
Ele é semelhante ao try e safe navigation, porém, utilizado em Arrays e Hashs.
6. Rake Notes
Você sabia que é possível utilizar comentários para marcar partes importantes do seu projeto, como as que ainda devem ser implementadas, ou então, as que tem algum problema a ser resolvido?
Isso pode ser feito através de comentários que começam com # TODO
ou # FIXME
Veja isso em um exemplo que tem um método com erro e outro método que ainda deve ser implementado
1 2 3 4 5 6 7 8 9 10 11 |
class PaymentController < ApplicationController # FIXME error when try call order def order ... end # TODO in the next version, it's important def validate_cpf end end |
Para ver quais partes estão com anotações, abra seu projeto pelo terminal e rode o seguinte comando.
1 |
rake notes |
Ele exibirá a linha onde o comentário está, o tipo de anotação que é, e a mensagem desta anotação.
7. Analise a velocidade do seu código
Alguma coisa está lenta para ser executada em seu projeto? (Model, Controller, Query…)
No rails você pode utilizar o Benchmark.ms
para avaliar o tempo gasto na execução de um bloco de código e descobrir o que não está legal.
A seguir, veja um exemplo sobre como avaliar esse tempo:
1 2 |
time = Benchmark.ms{ Restaurant.all } puts time |
Assim, você pode avaliar o tempo de execução e experimentar alternativas para aumentar a performance de seu código.
8. Rails Stats
No rails, existe um comando chamado rails stats
responsável por exibir estatísticas sobre sua aplicação .
Executando ele você saberá a quantidade de linhas, classes, métodos e etc.
Para ver estas informações basta apenas abrir o terminal, ir até seu projeto e executar o seguinte comando:
1 |
rails stats |
9. Rails Console: Fazendo Requisições Internas
Já pensou em testar suas Rotas dentro do rails console e sem precisar levantar o servidor?
Você provavelmente não deve saber, mas é possível fazer requisições internas dentro do rails console utilizando um objeto chamado app
.
A seguir, veja como fazer uma requisição com o rails console.
1 2 |
app.get "/movies/1" app.response.body |
10. Método uniq
Pense que você tem uma tabela chamada Evaluation
, e salvou as notas de 40 alunos dentro dela.
Existem 5 tipos de notas (exp: 1, 10, 8, 8.5), e você quer saber dentre elas, quais foram as notas tiradas.
No ruby, existe um método chamado uniq
que pode te ajudar a realizar esta tarefa. Ele retorna os valores de um array evitando duplicidade.
Basei-se no código a seguir para criar um array com valores de notas e depois executar o método uniq
sobre ele.
1 2 |
notas = ['A', 'A', 'A', 'B', 'B', 'C'] notas.uniq |
Você terá como resultado valores únicos => ['A', 'B', 'C']
Para complementar essa ideia, veja a seguir um exemplo utilizando uma pesquisa no banco de dados da sua aplicação.
1 |
Evaluation.pluck(:nota).uniq |
Esta dica é muito útil, e uma hora ou outra você precisará dela para visualizar valores de forma única!
Conclusão
É importante conhecer ferramentas e técnicas para tornar seus códigos cada vez melhores e para evitar perda de tempo com trabalhos repetitivos,
neste artigo você conheceu as 10 dicas que te ajudarão a ser mais eficiente e a produzir códigos com mais qualidade.
Gostou das dicas?
Faça um comentário nos contando o que achou deste artigo e se você gostaria de receber mais dicas de Ruby on Rails por aqui, também deixe algumas dicas que você já conhece para tornar o dia a dia de programação mais eficiente.
Não esqueça de compartilhar essa publicação com seus amigos,
Muito obrigado o/

Não perca nenhum conteúdo
Receba nosso resumo semanal com os novos posts, cursos, talks e vagas o/
Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!
O OneBitCode traz conteúdos de qualidade, e em português, sobre programação com foco em Ruby on Rails e também JavaScript.
Além disso, aqui sempre levamos à você conteúdos valiosos sobre a carreira de programação, dicas sobre currículos, portfólios, perfil profissional, soft skills, enfim, tudo o que você precisa saber para continuar evoluindo como Programador(a)!
Fique por dentro de todos os conteúdos o/
Nossas redes sociais:
📹 • https://youtube.com/Onebitcode [Live todas as terças-feiras às 19h)
💻 • https://linkedin.com/company/onebitcode
🙂 • https://facebook.com/onebitcode
📱 • https://instagram.com/one_bit_code
🐦 • https://twitter.com/onebitcode
Nossos cursos:
🥇 • Programador Full Stack Javascript em 8 Semanas
💎 • Curso Completo de Ruby
⚙ • Minicurso: API Rails 5 Completo
🐞 • Minicurso de Testes para Ruby on Rails com RSpec
Espero que curta nossos conteúdos e sempre que precisar de ajuda, fala com a gente!
Estamos aqui para você 🙂
Bem-vindo à família OneBitCode o/
Dicas bem legais. Realmente úteis para o dia a dia. Parabéns!
Muito legal. Vários comando dá hora… gostei muito do “app/get ‘route'”
Muito bom!
Ótimas dicas