sysd.org
14nov/114

DBIx::Class HATE

Exercendo a minha liberdade de expressão, vou tentar explicar por que raios, afinal, eu detesto tanto o DBIx::Class. Ninguém é obrigado a concordar comigo, mas espero que os que leiam, reflitam.

Sem dúvida, é um treco robusto e consistente, mas já dizia o Oscar Wilde"Consistency is the last refuge of the unimaginative." Agora eu, felizmente (ou não), tenho imaginação de sobra. Sou conhecido por minhas gambiarras atrozes. Sou um péssimo programador, a ponto de ter largado a faculdade de computação no quarto ano e ter me formado em desenho industrial :)

O que gosto no Perl é a sua capacidade de ser um master-glue, amarrando pedaços desconexos numa "coisa" que, magicamente, atende às necessidades.

Como bem ilustra o fabuloso poema "Black Perl", o Perl é livre de preconceitos e purismos. Posso "furar" a privacidade dos atributos do Moose, subverter o MVC com o Mojolicious, além de fazer todo tipo de monkeypatching bizarro e ad-hoc.

Aí entra o DBIx::Class. Seu glorioso dbicdump já ofende os meus olhos:

# Created by DBIx::Class::Schema::Loader v0.07010 @ 2011-08-24 13:26:20
# DO NOT MODIFY THIS OR ANYTHING ABOVE! md5sum:qqyhu9B0Vr7l1KsQ6CG7Jw

Desgraçado, como assim?! Em primeiro lugar, a caralhada de classes (uma por tabela?!), para mim, por si só, é uma coisa javesca. E, em segundo lugar, o mentecapto é prolixo e nem posso ousar de intervir com o Perl::Tidy para deixar o código legível do jeito que gosto. Sem falar que o schema é "lossy" e perde várias informações.

Mas isso é o de menos. Não consigo imaginar um workflow que me agrade. Eu gosto do pgAdmin e do HeidiSQL e costumo elaborar as minhas tabelas e queries nessas GUIs. Isso me dá um retrabalho na hora de "portar" para Perl (diferentemente do DBI, aonde é só copiar e colar, ráááá).

E olha só, CRUD não é o foco do meu trabalho. Às vezes, preciso dar uma cutucada no banco de dados, ou então um grande processamento em lote. Mas variedade de queries? Não me pertence.

Aliás, um ponto importante: em geral, sou "equipe de um homem só". E Perl dá um grande poder nas mãos das equipes de um homem só. Não preciso de um código de fácil manutenção. Eu assumo a penalidade e o risco de me perder nas próprias queries quilométricas. Me divirto muito com isso.

Nesse ponto, DBIx::Class me parece coisa de tiozão. Me lembra aqueles emails corporativos aonde a assinatura é 100x maior do que a mensagem, sendo o schema a assinatura e o uso da mesma, a mensagem :)

Comentários (4) Trackbacks (0)
  1. Não entendo muito do assunto. Estou vendo SQL no db-classes de stanford, mas estou só no começo.
    O que posso comentar é que a frase “exército de um homem só”, como o pessoal me chama na UDF, é o que eu sinto em relação ao Flash.

  2. you mad, brah?

  3. stanis
    cara
    nao acredito
    achei o site de bobeira
    fiz a 1a logo deste site contigo
    como anda a vida
    me manda um email
    abraco

  4. Eu recomendo livre MySQL-manager – Valentina Studio, confira se você não tentei ainda: http://www.valentina-db.com/valentina-studio-overvie


Leave a comment

Sem trackbacks

Easy AdSense by Unreal