2009/11/13 Joao Morais <jcmorai...@gmail.com> > Pensou certo. Definir toda a arquitetura antes e depois codificar. > Mesmo que fiquem faltando alguns detalhes, algumas implementações. É > como escrever contra uma interface que foi completamente definida, mas > que ainda não possui uma única classe que a implemente.
Se faltar alguns detalhes e implementações, então não foi denifida _toda_ antes, certo? Não acredito no conceito de arquitetar _tudo_ antes de codificar. Na minha opinião, esta abordagem falha na maioria das vezes. Construir um software não é como construir um carro. > Acho que não se aplica. O que cascata separa é concepção de elaboração > e desenvolvimento durante o desenvolvimento de um projeto. Nós somos > nossos próprios clientes e estas decisões seriam, digamos, um > documento de arquitetura que pode ser concebido no modelo iterativo. > Ágil, sim; irresponsável, não. Seu pensamento sobre desenvolvimento de software é bem clássico. Eu já gosto mais de metodologias Ágeis. Menos burocracia. Simplicidade. Menos documentação vs software funcionando. Não vejo irresponsabilidade nas metodologias Ágeis. A irresponsabilidade vem do programador, não da metodologia. > Nada. Agora que entendi claramente o que você disse. Mal entendido > resolvido. Bom, sinceramente eu até preferiria alguma crítica a fim de > me ajudar a melhorar o modelo. Infelizmente não tive tempo hábil para testar seu framework. Talvez, seu eu precisasse utilizar um framework como o seu, eu estudaria seus fontes. No momento, não dá. > Código é uma forma de uma pessoa se expressar. Pegue um cara ímpar, > mosca branca, inteligentíssimo, mas que é gago e tem uma letra > horrível. A letra conta sim, mas não é tão importante quanto a > harmonia daquilo que está escrito. Uma vez lida a carta, a importância da letra é ignorada, pois uma carta é estática. O software, entretanto, é dinâmico e precisa ser revisto a todo momento. Ele precisa de manutenção e esta manutenção será feita por pessoas diferentes. Por isso, manter uma padrão e consistência nos fontes é tão importante, na minha opinião. > Definir a arquitetura e orquestrar o lugar das coisas antes te criar > as tais coisas fará com que você crie tudo uma única vez (hã... ok, > esse seria o caminho feliz) e evite retrabalho. Como falei noutra > ocasião, quanto maior a equipe e/ou mais complexa a solução, maior a > necessidade de ter estes cuidados. Mas cada um vai escrever da forma > que está acostumado, a menos que a equipe tenha ditado até o espaço em > branco antes e depois do ":=". Curiosidade, estou no meio de um > projeto assim, absurdo de grande, em que o cliente receberá todos os > artefatos produzidos, fontes inclusive, e cita até regras de > checkstyle incluindo o máximo da complexidade ciclomática dos métodos. Interessante este o projeto. Bem, eu não chegaria a este nível tão detalhado, pois colocaria muita burocracia ao projeto. > Entendo. Isso pode ficar meio complicado com mais de uma pessoa > mexendo ou dando manutenção no mesmo código. Mas eu falo um pouco além > disso, ao menos nessa etapa. Por exemplo, você está se lixando se o > kernel do Linux (com perdão da redundância) é um lixo ou é organizado. > Ele é fechado pra você, e você tem apenas uma interface de uso. Essa > interface tem que ser algo decente, e o código interno, seja um lixo > ou não, tem que fazer aquilo que ele se compromete. A interface de uso > do kernel do Linux é a arquitetura, seu código é construído de acordo > com o que essa interface dita pra você. Acho que eu já deixei minha opinião acima... > Então comenta. Cata a mensagem aonde eu proponho uma arquitetura pra > gente seguir e dá seu parecer, abrindo em detalhes aonde você tiver > idéias ou sugerindo outra abordagem aonde você não concordar. Só estou > esperando esses comentários para dar sequência aos meus. OK, vou elaborar os comentários. Mas necessito de tempo. Não tenho a arquitetura na minha cabeça. Então não posso dar detalhes de como será a implementação. Não sei nem se devemos utilizar o ExtPascal, foi somente um exemplo (um ótimo exemplo). E, o mais importante, ainda tenho minhas dúvidas se vale mesmo a pena investir na linguagem para Web. Veja que poucas pessoas estão comentando sobre este tópico aqui na lista. Acho que a maioria das pessoas aqui apenas tem projetos antigos codificados em Delphi e elas tem apenas que mantê-los. Web com Pascal ainda é um mito. > A gente vai falar de programação, arquitetura de software, programação > web, mvc, alguns padrões de projeto, parsers e pascal. Mas nada de > Delphi. Bom, talvez valha como um off-topic. Deixemos a galera decidir? Ou não... rs... Abraços. Marcos Douglas PS: Desculpa a demora nas respostas. Tive problemas pessoais...