[Cascavel-pm] ERP com Catalyst

Luis Motta Campos luismottacampos em yahoo.co.uk
Sexta Abril 25 07:19:11 PDT 2008


Luciano Giordani Bassani wrote:
> Contando a época que fui estagiário, estou nesta empresa a quase 12 
> anos.

Lamento muito por você, parece que você precisa de um pouco mais de
experiência profissional.

Ficar tanto tempo assim numa empresa apenas faz mal para o
desenvolvimento profissional da gente. Siga o meu conselho, e tente
encontrar outra coisa para fazer. Não tenha pena do seu chefe, ele vai
conseguir se virar. ;)

> Acho que vou seguir o teu conselho e vou ler algum livro sobre isso,
>  mas em português.

Certo, sem problemas. Eu uso o Google para você:

Análise Estruturada Moderna
Autor: Yourdon, Edward
Editora: Campus
ISBN: 8570016158
http://www.temporeal.com.br/produtos.php?id=153906

Engenharia de Software ( 6ª Edição)
Autor: Pressman, Roger
Editora: McGraw-Hill Brasil
ISBN: 8586804576
http://www.temporeal.com.br/produtos.php?id=170297

Eles entregam, então você não precisa nem ir até a loja... é só clicar.

> Algum dia, pq arrumar tempo é algo complicado.

Tempo é questão de opção e organização.
Em todo caso, para aqueles que precisam de uma ajudinha:

Time Management for System Administrators
Autor: Limoncelli, Thomas
Editora: O'Reilly
ISBN: 0596007833
http://www.temporeal.com.br/produtos.php?id=170897

> Mas a verdade é que eu não gosto mais de desenvolver sistemas.

Me desculpe. Eu não quero ofender, nem tenho a intenção de brigar. Ainda
assim, a impressão que eu tenho é a do menininho que está perdendo o
jogo e diz "não brinco mais". Seja esportivo, leia os livros, você ainda
tem "cura" ;)

> Eu divido as telas (que na empresa onde a gente trabalha são 
> formulários que devem ser preenchidos, validados e enviados ao banco
>  de dados) em simples e complicadas, pq neste novo projeto as telas 
> simples (que em geral são a maioria) são geradas automaticamente. 
> Assim, eu só passo para o script qual é o nome da tabela e mais algum
>  ou outro parâmetro. Através de consultas SQL, o script monta o 
> formulário, vê o tipo de campo e se é obrigatório ou não e monta toda
>  a regra de validação, isso tudo automático. Em tese, toda a regra de
>  negócio eu estou tentando deixar no PostgreSQL e o script apenas lê
>  isso.

Seus pecados, todos cobertos pelo Pressman:

1. Falta de separação entre a camada de validação, e exibição;
2. Falta de separação entre a camada de persistência e as regras de negócio.
3. "Meia-solução": metade do sistema precisa apenas de configuração, e
outra metade precisa ser feita à mão, quando as duas são supostamente
implementações parciais da mesma funcionalidade;
4. Usando depósito de dados como um "motor de regras de negócio".
5. Não misture a camada de exibição e a camada de aplicação: teus
cálculos não importa se simples ou complicados, não devem ser feitos no
meio do HTML, não devem ser "gerados com telas" (argh). Separe o código
que exibe informações para o usuário num arquivo diferente do código que
calcula as informações que serão exibidas.

> Os formulários complicados (que na gíria da empresa chamamos de 
> tela), não podem ser automáticos pq existem outras regras e 
> sub-formulários. Por exemplo, telas que tem que calcular questões 
> financeiras, etc. A vantagem disso é que eu posso concentrar meu 
> tempo no que realmente importa e deixar estas questões de design 
> praticamente automáticas.

Você realmente pode se beneficiar muito de ler os livros que eu te
indiquei. Você está fazendo tudo ao contrário: deve se preocupar com o
desenho da aplicação, e manter esta parte sob controle (não "automatize"
o projeto da aplicação). Ao contrário, preocupe-se com isso (é o que
realmente importa) e tenha políticas e regras para *tudo* no seus
sistemas: gere automaticamente tudo o que puder ser gerado ou derivado
de outras informações, seja dinâmica ou estáticamente.

Mais uma vez, com todo o respeito (eu não quero ofender, quero educar)
eu insisto: você não sabe como organizar software. Por favor leia os
livros que eu te indiquei (estão em portugues, para fazer a tua vida
simples).

> Eu creio que não é educado da tua parte criticar os sistemas que eu 
> mantenho apenas pela quantidade de visitas que eles recebem.

Eden, acho que você é melhor que eu para explicar que a quantidade de
visitantes não tem nada a ver com isso, e que as críticas são sobre a
parte de engenharia (ou melhor, sobre a falta dela) nos sistemas. A
palavra é tua, Eden.

> Sobre a validação eu já respondi para outra pessoa em outro e-mail e
>  sobre segurança eu posso afirmar, com 100% de certeza absoluta, que
>  os sistemas que eu mantenho são mais seguros do que os das Lojas 
> Americanas, Submarino, Saraíva, entre outros.

Sim, sim, os outros estão vulneráveis ao ataque de XSS, você blogou
sobre isso aqui: http://lgbassani.wordpress.com/

Eu tenho certeza de que os outros engenheiros de software desta lista
também podem te explicar quais são os problemas com o teu software.

> Eu me preocupo com isso e sempre que encontro uma falha nova eu 
> procuro solucionar. Você está me pré-julgado apenas pq eu falei em 
> Javascript. Isso é um erro recorrente dos "bons programadores".

Lamento, mas eu não costumo prestar atenção nas linguagens de
programação que as pessoas usam. Mesmo quando eu não aprecio a linguagem
em si, eu sei apreciar um sistema bem desenhado.

> Relegam Javascript, acham que elas não servem para nada. Javascript 
> para mim é algo que uso direto, mesmo antes de falarem em AJAX eu 
> sempre usava Javascript para validação de dados e jogar parte do 
> processamento para o cliente. Com isso eu reduzo a comunicação com o 
> servidor e o sistema fica mais "rápido" para o usuário. Nos projetos 
> antigos, a validação no lado do servidor era feito em Perl, mas neste
>  projeto novo, minha intenção é que a validação do lado do servidor 
> passe a ser feita pela base de dados.

Perguntinha para a galera: qual é o erro conceitual disso? Onde está o
problema?

Com todo o respeito, e sem a menor intenção de ofender, eu quero
acrescentar que a tua teimosia não está te ajudando a aprender. Eu acho
que você pode se beneficiar da leitura dos livros que eu apontei, mais
do que das críticas que eu tenho feito. Você parece que está ignorando o
que eu escrevo, ou alguma coisa muito perto disso.

Putamplexos.
-- 
Luis Motta Campos (a.k.a. Monsieur Champs) is a software engineer,
Perl fanatic evangelist, and amateur {cook, photographer}


Mais detalhes sobre a lista de discussão Cascavel-pm