Não se repita

26.09.07

Não se repita

DRY code (Don’t Repeat Yourself) é uma boa prática de programação (também podemos chamar de design pattern) que evita duplicidade de código. O bom desenvolvedor não vai copiar e colar trechos de código por todos os lados, porque sabe que mais cedo ou mais tarde aquele trecho de código deverá ser alterado, e assim suas “cópias” pelo sistema também deverão. Isso significa retrabalho, perda de tempo, e nos piores casos, erros estranhos e insolucionáveis :) .

Destaque para alguns trechos interessantes do artigo citado acima:

“Um exemplo de sistema que duplica informação é o Enterprise Java Beans. EJBs requer duplicação de informação não apenas no código Java como nos arquivos de configuração.”

“Um exemplo de sistema que tenta reduzir informação duplicada é o ambiente de desenvolvimento de aplicações Ruby on Rails.

Niiice!

24 alunos não foram à escola.

  1. Rafael

    aeuheauaeheauaehaeu, muito legal esses meta-desenhos :D me lembra de alguns desenhos do calvin em que ele aparece em outros planetas atacando insetos gigantes =P

    quanto ao emprego de ‘design pattern’ tenho sérias restrições para aceitá-lo, porque as pessoas o trata como se fosse uma ferramenta, não como uma boa prática de programação. Isto é, se os padrões de projeto não tivessem seus nomes, as pessoas as praticariam? Haha, duvido. Precisamos de um padrão de projeto chamado ‘razão infinita’ para evitar uma divisão por zero?

  2. José Luiz Coe

    DRY com força! :D

    Viva Lib e Api! :D

  3. programad

    Olá, gosto do Nerdson não vai à escola, e gostaria que você compartilhasse seu conhecimento, do modo que trabalha, tipo, como eu posso criar um personagem e gerenciar quadrinhos com o inkscape. Devo ter várias posições? Como é o processo? talvez um screencast ajude. Obrigado

    PS: Visite meu blog.

  4. programad

    Ah, e como dizem os GNUdos:

    “Não se repita, não se repita, não se repita.”

  5. Vinícius Manhães Teles

    Karlisson, estou sempre acompanhando seus desenhos e adoro tudo o que você faz. Esses últimos têm sido particularmente notáveis. Mas, esse aqui está demais. Fantástico! Meus parabéns! :-)

    Grande abraço, Vinícius.

  6. Rafa

    ‘números flutuantes’!!! Mais uma vez sensacional! hahahahaha! :D

  7. Erick

    Macacos me mordam!
    É o Libman & APIboy !!!

    ‘números flutuantes’ foi d+ :)

    Com as tirinhas do Nerdson a gente se diverte aprendendo..
    Ou seria, aprendemos se divertindo ? :)

    Parabéns Karlisson

  8. Bruno Guedes

    É, aparentemente Libman & APIBoy continuam com força.

    DRY, eh?… uma boa, tenho certeza que já vi isso antes, só que sem nome(tipo “quando criar uma função? (…) se uma tarefa é executada várias vezes”, coisa assim).

    “Caracteres Unicode”… muito boa.

  9. Aninha

    Pois pra sua informação, eu li sobre essas coisas nas minhas aulas de Python da Unid!

    e eu entendi sim!

    PERFEITO!

    hauahauhauHAAHUhauaha

  10. Djavan Fagundes

    Muito interessante. Gostei da série sobre “Qualidade” de software. =)
    Abraços

  11. Rubem

    kkkkkkkkk.. boa, muito boa!

    Já tá na hora do Nerdson abrir um blog com as tirinhas apenas do par de herois binários! ;-)

    (Só pra saber, o APIBoy morde a fronha? (Gosta mais de 1 do que de 0) kkkkkkk… brincadeira… sabe como é ajudante de super-herói, sempre suspeito)

  12. Rodrigo Robles

    Karlisson, você tem que fazer uma versão em inglês do site. Não que eu goste da lingua inglesa, mas é que as tiras estão muito boas, e chega a ser uma injustiça elas atingirem somente o público de língua portuguesa.

  13. Bozo

    É um poço de criatividade =) me orgulho de você meu amigo…parabéns e continue assim.

  14. Hiro

    Excelente! hauahuah dry hauahu don’t repeat your-seft

  15. Fenrrir

    Aeee :d acabei de ver que talvez eu ainda tenha cura, não sou tão nerd quanto imaginava, quase não entendi a tirinha !! :D

  16. Hugo

    A tirinha tava massa, mas não gostei da explicação que voce deu pra dry code =/

  17. Fred Pill

    Muito bom!! Vc mesmo que faz os desenhos?

  18. Lourenzo Ferreira

    Ha!
    Esse pattern é novo pra mim!
    Mais uma vez estou aprendendo e me divertindo ao mesmo tempo!

    Valeu!

  19. zeh

    Cara, tu é foda!

    Mtas risadas NERD com esses quadrinhos… Dr. Refactor foi pra acaba! hauahuahuahuahauhaau

  20. Rafael

    Me deu até vontade de voltar a programar!
    =D

  21. Nuno

    VIVA LIBMAN E APIBOY! \o/
    Jah tem poster deles à venda?

  22. Abraao

    RubyOnRails eh muito bala mesmo, ja cheguei desenvolver um pouco com ele.

  23. Aryel Tupinambá » Implementando a interface IEventDispatcher (Flash CS3)

    [...] Note que eu nem cheguei a mudar a implementação da função. Eu suprimi alguns argumentos opcionais das funções que são desnecessários no exemplo, mas para usá-los, simplismente siga o padrão e os adicione. Você irá notar também que não realizamos nenhum tratamento de dados. Você naturalmente poderia fazê-lo, mas no exemplo não precisaremos. Bom, se temos uma implementação que nem muda os dados, podemos então trabalhar aqui com um conceito de Design Patterns. Podemos colocar essas 5 funções numa include, padronizar o nome do objeto auxiliar (DogEventDispatcher) e incluir o arquivo sempre que precisarmos implementar essa interface. Tá vendo por que esse método é fácil? Não vou mudar o exemplo pois assim fica mais didático, e permite que você copie e cole o código diretamente, mas recomendo que, se possível, faça o mesmo e evite Doutor Duplicate! [...]

  24. LIBMAN & APIBOI - Não se repita « Lucihana’s Weblog

    [...] quadrinho abaixo faz parte da série “Nerdson não vai à escola”, criada por Karlisson Bezerra, e retrata o terror de trabalhar num sistema sem o uso de DRY. Ruby on Rais, simples por natureza, [...]