Arquitetura: tentativas, sugestões.  XML
Índice dos Fóruns » Arquitetura de Sistemas
Autor Mensagem
louds
Moderador
[Avatar]

Membro desde: 29/04/2003 23:09:15
Mensagens: 4008
Localização: São Paulo
Offline

Uma coisa que eu já vi funcionar e não é tão radical quanto a idéia do cv é atrelar o resultado do programador a métricas de software.

Diga que existe uma limite X para LOC/método, metodos/classe, atributos/classe, complexidade ciclomática e violações da lei de Demeter.

O código inicial vai ser caótico, mas em pouco tempo ou cai a ficha que sem OO não vai para frente ou explode.

http://www.kumpera.net/blog/
http://www.mono-project.com/
"Each individual should work for himself. People will not sacrifice themselves for the company. They come to work at the company to enjoy themselves."
Soichiro Honda
[ICQ]
skill_ufmt
JavaEvangelist
[Avatar]

Membro desde: 20/05/2003 18:02:23
Mensagens: 318
Localização: Cuiabá - MT
Offline

louds wrote:Uma coisa que eu já vi funcionar e não é tão radical quanto a idéia do cv é atrelar o resultado do programador a métricas de software.

Diga que existe uma limite X para LOC/método, metodos/classe, atributos/classe, complexidade ciclomática e violações da lei de Demeter.

O código inicial vai ser caótico, mas em pouco tempo ou cai a ficha que sem OO não vai para frente ou explode.


isso não cairia numa prática de métodologia agil chamada refactoring?

Windows: Not Plug & Play, but Bug & Pay!
_________________________________________________
Kivanio Pereira Barbosa
Bacharel em Ciência da Computação

CUIABÁ JAVA USERS
www.cajumt.com.br
[WWW] aim icon [MSN] [ICQ]
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7769
Localização: London, UK
Offline

louds wrote:Diga que existe uma limite X para LOC/método, metodos/classe, atributos/classe, complexidade ciclomática e violações da lei de Demeter.


Em um outro projeto a gente colocou isso no CVS... um commit demorava alguns minutinhos, pq ele tinha que analisar o codigo antes de aceitar o commit, mas valia a pena. O codigo so entrava no CVS se, e somente se, ele nao tivesse nenhum problema com sintaxe, imports inuteis, nenhum warning nem utilizacao de metodo ou API deprecada. Depois, a gente foi deixando a coisa mais divertida: nenhum commit passava se o codigo tivesse alguma dependencia circular, ou se o cliente usasse classes do servidor (ele tinha que falar com o servidor atraves do pacote de classes comuns), e todos os arquivos .java tinham que ter o copyright e a licenca no topo.

Quando alguem pegava uma classe pra editar que violasse algum desses requisitos, tinha que arrumar ou nao fazia commit. Em 6 semanas o codigo tava lindinho de novo
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2528
Localização: sao bernardo do campo
Offline

Kivanio, sei que há uma certa tendência em modismo a querer aplicar OO em tudo. Sei que ainda falta muuuito, mas muito a se estudar, porém de algum lugar tenho de começar, se for deixar pra usar este tipo de coisa quando for um expert, creio que ainda passaremos uns bons anos produzindo lixo. Concorda?

Quanto a dica do Phillip de contratatr um consultor eu cheguei a cogitar, porém foi refutada no primeiro comentário que fiz. Por um lado é ruim pois sei que vou quebrar muito a cabeça pra resolver coisas simples que poderiam ser resolvidas sem tanta burocracia, por outro creio que vai ser bom porque ou eu aprendo alguns padrões, ou aprendo como não utilizar certos padrões, de qualquer forma, aprendo.

Quanto ao build no CVS que o cv dugeriu, nós usamos o Source Safe , vou tentar adaptar alguma dessas ou outra ferramenta nele, foi bem legal a idéia.

------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.flickr.com/photos/rafanunes
http://parvoicesedesvarios.blogspot.com/
[Email]
pcalcado
Moderador
[Avatar]

Membro desde: 08/03/2004 17:19:35
Mensagens: 5115
Localização: Melbourne - Australia
Offline

Rafael Nunes wrote:
Quanto ao build no CVS que o cv dugeriu, nós usamos o Source Safe , vou tentar adaptar alguma dessas ou outra ferramenta nele, foi bem legal a idéia.


Concordo, mas cuidado para não criar um clima ruim, deixe claro os propósitos da ferramenta, antes que alguém coloque um desenho seu como alvo de tachinhas no banheiro

Aproveita, entra numa clínica dessas por aí, isntala o Subversion e larga as drogas Esse Microsoft SourceSafado ninguém merece!

Phillip Calçado "Shoes"
http://fragmental.tw/
http://blog.fragmental.com.br/
"It is unfortunate that much of what is called 'object-oriented programming today is simply old style programming with fancier constructs." - Alan Kay
[Email] [WWW] [Yahoo!] [MSN]
Rafael Nunes
Moderador
[Avatar]

Membro desde: 09/10/2003 13:41:06
Mensagens: 2528
Localização: sao bernardo do campo
Offline

Hun, creio que deu pra amadurecer um pouco a idéia, já faço uma nova imagem da minha arquitetura:

This message was edited 2 times. Last update was at 24/03/2005 15:19:21


------------------------------------------------------------------
"Think different? I'd be happy if most people would just think..."

http://www.flickr.com/photos/rafanunes
http://parvoicesedesvarios.blogspot.com/
[Email]
eagnes
JavaBaby
[Avatar]

Membro desde: 10/04/2003 21:05:34
Mensagens: 80
Localização: Santa Cruz do Sul - RS
Offline

Achei interessante essa abordagem de não deixar o código ser commitado se não está de acordo com algumas métricas e/ou padrões de codificação.

Mas como vocês estão fazendo essa análise do código antes do commit no cvs? Através de um build file do ant?

Desculpe minha ignorância do assunto...
cv
Moderador
[Avatar]

Membro desde: 04/04/2003 00:32:12
Mensagens: 7769
Localização: London, UK
Offline

Voce pode fazer isso com um buildfile do ant, sim, mas a gente tava usando um scriptzao Python bonito. Configurar o CVS (ou SVN) pra isso eh super simples, e qualquer livro ou artigo mais detalhado no assunto te ajuda.

O importante eh nao tornar as sessoes de commit infernais, tambem... pq antes codigo ruim gerenciado pelo CVS do que codigo ruim esquecido na maquina de alguem...
[Email] [WWW] [Yahoo!] [MSN] [ICQ]
eagnes
JavaBaby
[Avatar]

Membro desde: 10/04/2003 21:05:34
Mensagens: 80
Localização: Santa Cruz do Sul - RS
Offline

Interessante cv! Eu andei pesquisando e pelo que entendi tenho que adicionar um script ou algo parecido no commitinfo no servidor CVS. Então antes de cada commit o CVS vai validar o arquivo através deste script... certo?

Eu achava que essa validação era feita no cliente, mas aí ficava meio sem sentido a coisa...

Valeu pela resposta!
plentz
Moderador
[Avatar]

Membro desde: 28/01/2004 07:34:12
Mensagens: 1581
Localização: Porto Alegre, RS
Offline

cv wrote:Voce pode fazer isso com um buildfile do ant, sim, mas a gente tava usando um scriptzao Python bonito.


Share!

Diego Plentz
"Provide options, don't make lame excuses."
[Email] [WWW]
 
Índice dos Fóruns » Arquitetura de Sistemas
Ir para:   
Apoiado e desenvolvido por Caelum Cursos Java - Powered by JForum 2.1.8 © JForum Team