2009/11/13 Marcos Douglas <m...@delfire.net>: > 2009/11/12 Joao Morais <jcmorai...@gmail.com> >> Então Marcos, eu coloquei uma vantagem de um ambiente padronizado, e >> não necessariamente com uma VM. E também não generalizei, nem >> relacionado a VM nem relacionado a padronização. O foco acima vai de >> encontro ao custo de ter uma VM, que por vezes é nada perante o >> benefício. > > Concordo com os benefícios de uma VM e ainda mais de um ambiente padronizado. > Uma VM não é imprescindível, mas o ambiente padronizado é. O que eu > quis dizer anteriormente, sobre o custo da padronização, é que não > devemos colocar o foco em somente criar o melhor ambiente padronizado, > pq muita burocracia tb não ajuda.
Discordo. Deixe-me contextualizar. Quando falo em padronização, estou citando a forma que um projeto será construido e evoluido. Não estou falando de nomes de variáveis, parâmetros, métodos, etc., mas aonde ficarão os lay outs de página, como eles se integram com o restante do código, se iremos construir com DAO, BC ou apenas um objeto de negócio e um framework de persistência, etc. Isto é importante e deve, sob meu humilde ponto de vista, ser definido antes da primeira linha de código. >> Tem circunstâncias em que uma padronização é essencial para não virar >> o caos. Quanto mais complexa a solução e/ou maior a equipe de >> desenvolvimento, maior a necessidade de padrões. > > Concordo, mas isso é depois que o software já está grande ou muito complexo. > Veja vários projetos OpenSource que tem por aí. Se vc for utilizar um > software opensource ele poderá ser muito bom. No entanto, vendo seu > código, veremos que não tem muitos padrões... Tem algumas coisas que preciso evoluir, algumas violações que preciso refatorar e algumas implementações que precisam ser finalizadas. Mas se você citar o que você enxerga de ruim, vai me ajudar a nortear a implementação ou dar a mim a oportunidade de te apresentar minha visão do que eu fiz. > Um exemplo é o próprio > compilador FPC. Já viu o código? Tem Units que é "certinha", bem > padronizada e tal já outras... Qual a melhor abordagem? A padronizada, > claro, no entanto acho que se houvesse uma escolha entre desenvolver > ou ficar pensando em qual padrão, eles optaram por desenvolver. Você está falando de que, modelagem de classe? Formatação de código? Nome de métodos e variáveis? Nomes de unidades? Eu conheço muito pouco do compilador para citá-lo como exemplo, mas o que eu chamo de padronização é a forma que os caras lêem tokens, como trabalharam a gramática, como implementaram o algoritmo para alocação de registrador de forma otimizada e independente de processador, organização dos packages, enfim, algo relacionado a arquitetura interna do compilador e suas bibliotecas do que olhar meia dúzia de linhas. Os caras têm uma arquitetura muito sólida, mesmo que eu ou você achemos que o código é muito feio. Estou falando de arquitetura, e não de código. >> De volta ao foco. Minha idéia é criar especificações simples para que >> o projeto saia do papel. Vamos colocar um cenário hipotético: >> linguagem Pascal, compilador FPC (tá virando off topic aqui), >> publicação da aplicação via FastCGI, construção sob a classe >> TCustomFCGIApplication, apresentação via ExtJS/ExtPascal com um >> framework MVC (caso o Ext* não tenha um) para orquestrar a >> apresentação. O MVC vai padronizar os arquivos da apresentação e >> algumas boas práticas ou outros frameworks vão padronizar os arquivos >> e classes de negócio e persistência. > > OK, concordo em ter uma linha a seguir. Então, vamos começar? rs... Sim. A gente precisa de um ponto de encontro, nem que sejam trocas de mensagens em private, e informar à lista sobre a nossa escolha. Depois você precisa dizer se o que eu já disse está legal e tentar evoluir. Eu mesmo posso detalhar melhor o que eu citei, caso o caminho esteja legal, ou trilharmos caminhos diferentes. Viu só? A gente já andou um bocado, só faltou ver com outros olhos. Joao Morais