domingo, 14 de novembro de 2010

Não sabe um caminho para seguir na programação? tente este aqui, parte 2/6

Continuando com a saga "Não sabe um caminho para seguir na programação? tente este aqui".

A cultura por trás do Ruby on Rails

Vou começar falando um pouco de Ruby, mas antes tenho que falar do irb, que é um programa que vem com o Ruby e pode testar todos os seus comandos nele com resposta imediata, antes de colocar na sua aplicação,  ele possui um histórico de comandos, e quando é utilizado com o Rails carrega tudo que está na sua aplicação fazendo assim que você possa até acessar dados do seu BD, é uma ferramenta de grande ajuda no desenvolvimento já que vai poder testar tudo antes de colocar a vera na aplicação.
Agora vamos ao Ruby, é uma linguagem totalmente orientada a objeto(muitos vão pensar "como assim ?"), vou dar um exemplo clássico quando falam de Ruby, até um número é um objeto, dúvida ? Veja o exemplo.
 
no terminal com o ruby instalado:
 

irb(main):001:0> 5.times do |numero|
irb(main):002:1*   print numero, " "
irb(main):003:1> end
0 1 2 3 4 => 5
irb(main):004:0>
 
O número 5 foi utilizado para fazer um loop, e o print deu a saída de forma  organizada. 
Viu tudo pode ser um objeto em Ruby, fora que sua sintaxe é muito fácil de entender e legível, 
escrever um método é uma experiência bem agradável, veja este método:
 
irb(main):032:0* def quadrate(number)
irb(main):033:1>   number.times do
irb(main):034:2*     number.times do
irb(main):035:3*       print "*  "
irb(main):036:3>     end
irb(main):037:2>     print "\n"
irb(main):038:2>   end
irb(main):039:1> end
=> nil
irb(main):040:0> quadrate(10) # ou poderia chamar assim, quadrate 10
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
*  *  *  *  *  *  *  *  *  * 
=> 10

Assim é feito um método em Ruby, fácil né ? Agora a explicação.
Linha por linha:

def quadrate(number) # primeiro o método recebe um parâmetro, como pode ser visto não precisa ficar declarando o tipo que aquele método vai receber, sendo assim variáveis também não precisam ser declaradas.

number.times do # é o primeiro loop da interação, ele vai fazer o loop de acordo com
a quantidade de números que você passar para o método. O primeiro loop gera a quantas
serão as colunas, o loop de baixo gera as linhas.

print "*  " # gera uma saída em apenas uma linha

print "\n" # pula a linha

Viu como é simples, é uma linguagem de alto poder, pode ser construído qualquer coisa
com ela, não é uma linguagem que só funciona bem com internet, também funciona muito
bem construindo programas para desktop, jogos, qualquer é só ter imaginação e pesquisar,
até um Linux baseado nela está nascendo que é o KoshLinux. Vou falar da cultura
Ruby mais abaixo.

Rails, é um framework para linguagem Ruby, sendo o mais utilizado hoje em dia,
feito por uma counidade enorme de usuários de Ruby está na sua versão 3, sendo
intitulado Rails 3, utilizando o conceito MVC(Model View Controller), por além de
deixar seu código bem organizado, ajuda em diferentes aspectos na construção de
um site, aumentando significavelmente a velocidade de construção, e nele vem
uma infinidade de recursos para o desenvolvimento da sua aplicação de forma ágil,
segura, e de fácil crescimento.

Agora que dei uma falada bem rápida na linguagem e no framework que serão o meu
foco neste blog, vou ainda falar muito de Ruby e Rails no próximos posts, dar exemplos
mais significantes, da sua usuabilidade, mas agora eu quero falar um pouco da cultura
Ruby on Rails, por que eu acho ela tão importante, não é uma exclusividade de Ruby,
a galera que escreve Python também tem a mesma cabeça que a nossa, e este
pensamento está sendo passado para as comunidades de outras linguagens, por que
essa parada de guerrinha de qual é a melhor linguagem é idiotice, somos todos
desenvolvedores e queremos um código bom, então a união é sempre melhor para
o desenvolvimento geral da classe.

O que seria um bom código, primeiro é um código testado, no rails estou sabendo do
RSpec para Models e Controllers, e o Cucumber e o Steak para Views, teste é uma
ótima prática pelo seguinte, se você estiver fazendo uma aplicação como vai saber se
o código que você ta fazendo vai quebrar ?
Vai esperar quebrar pra concertar, ou vai evitar à quebra antes ? Eu prefiro evitar à quebra,
imagina um site grande sem teste e uma alteração sua é vital para o site, ele quebra em
vários lugares e você não vê ? Vai testar página por página até verificar se tudo deu certo,
pra mim isso é trabalho de porco, mas ai é com você.

Segundo um código legível, que se define em algumas partes, uma é a escrita, a linguagem
mais usada no mundo é o inglês, as classes e métodos da linguagem que você
usa é inglês, então por que diabos você escreve seus modulos, classes, métodos e
suas variáveis em português ? Se escrever em inglês, fica mais fácil de entender e
não vai precisar de colocar comentário, por que se você já tem um método bem
descritivo não precisa de comentário, não da pra ficar nomeando métodos e
variáveis que podem abranger muita coisa, por que ai vai ter que escrever
comentário e é desnecessário, mas o pior de tudo isso é escrever resumindo,
"cod_cli", mas por que diabos não escreve "code", se presumi que se você está
na tabela "cliente" não precisa escrever cliente  de novo, então só precisa do
"code", não precisa complicar o que é simples de ser feito, existe casos muito
piores e muito disso vem preso com você da faculdade, e não se culpem
a culpa é de quem te ensinou que tem preguiça de escrever certo.

Outra boa prática é a otimização, não importa quanto você é bom sempre da pra
otimizar seu código, deixar ele mais agradável de ser lido, organizado, uma identação
boa é sempre bom para a equipe do projeto, se sua empresa tiver uma identação padrão,
é bem legal por que não vai ter confusão depois de como o código foi escrito.

Existe uma frase que define muito bem o que você tem que pensar quando está criando
o seu código, "Pense que o programador que vai vir mexer no seu código seja um
psicopata que sabe onde você mora", é radical mesmo, se você faz o código ruim vai ser
muito criticado, o que adianta se é foda, mas ninguém entende o que você faz, tem que
pensar que existe uma equipe com você.

Outra coisa que a cultura Ruby on Rails sempre incentiva é utilizar as técnicas de
desenvolvimento Ágil, que é um ótimo aliado para que sua aplicação fique pronta
o mais rápido possível, cobrindo todos os aspectos que seu cliente quer e
diminuindo as chances de bugs.

Pesquise as novidades que a área te oferece para criar sempre um bom código, por que
ser um bom programador não só fazer funcionar, pense nisto.

O próximo post é sobre da saga "Não sabe um caminho para seguir na programação? tente
este aqui" é "Técnicas Agile é o que você precisa para se organizar", vou falar de como
usar Agile é legal. Até próximo post.


Nenhum comentário:

Postar um comentário