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...

Responder a