Um bom design é ?  XML
Índice dos Fóruns » Metodologias de Desenvolvimento e Testes de Software
Autor Mensagem
diguix
JavaChild
[Avatar]

Membro desde: 27/08/2006 19:53:29
Mensagens: 142
Localização: RJ/Rio de Janeiro
Offline

O ciclo de vida do software com o passar do desenvolvimento aumenta cada vez mais a sua robustez e tamanho (não sendo mutuamente proporcionais), mas está linha segue quase que como premissa. Um bom design influência muito em se ter um software elegante, e inteligível.

Scott Bellware disse:

Scott Bellware wrote:
The essence of "good design" is it's ability to be absorbed by a human mind. Design is "good" when it can be easily-learned.


A sugestão de Bellware também é 100% válida.

...Bellware seems to suggest, there are tools we have right at our disposal today to help guide us towards designs that keep us productive and keep us happy, enjoying our day jobs as programmers. What do you think?


e você o que pensa ?

O conhecimento está a onde nós olhamos com vontade de aprender!
[Email]
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

Eu concordo que um bom design deixa qualquer desenvolvedor feliz.
Pra comprovar isso, pegue um sistema mal projetado e tente estender para uma nova funcionalidade. Se você não pensar primeiro na refatoração, o que você consegue? Uma bela treta.

Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
jjose
Virtual Machine Man
[Avatar]

Membro desde: 22/05/2007 23:10:22
Mensagens: 663
Localização: Paraiba
Offline

Se for delicado os programadores nerds gostam mas,
Se for mulher mais feliz o programador H, se for mulher e linda... mais feliz ainda...hehe

Estatísticas mostram que no RJ você corre risco de levar um tiro antes mesmo de nascer.
No RJ proporção é de uma bala perdida por cada gota de chuva.
No RJ quando o assunto é bala perdida, o óbito considera causas naturais.

[Email] [WWW]
windsofhell
GUJ Master

Membro desde: 15/06/2007 08:31:17
Mensagens: 1685
Localização: Stockholm - Sweden
Offline

Scott Bellware wrote:
The essence of "good design" is it's ability to be absorbed by a human mind. Design is "good" when it can be easily-learned.


Eu concordo. Nao tem nada pior do que comecar um trampo novo, ai quando vc ve o projeto que vai trabalhar da vontade de se descabelar, tomar veneno, entrar no banheiro depois daquele gerente financeiro gordo, ou ate mesmo pedir demissao.

//Daniel

Nao respondo MP!!!

Site: http://downhillracer.wordpress.com
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

Só pra acrescentar, de nada adianta ter um sistema bem projetado e o código ser um lixo (Corrigindo, um código de difícil leitura)*.

*Código de difícil leitura:

E o mais interessante de tudo: o código funciona e resolveu um SRM no TopCoder.

This message was edited 1 time. Last update was at 02/02/2009 17:03:41


Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

Andre Brito wrote:...
E o mais interessante de tudo: o código funciona e resolveu um SRM no TopCoder.


Isso daí não é lixo. Isso daí é obfuscated C++.
Acredite, isso é mais uma obra de arte do que um lixo. Fazer códigos assim e que funcionem requer conhecimento muito profundo da linguagem e bastante dedicação.

Uma vez eu participei do IOCCC, mas não fui classificado. O meu programa era o seguinte:

Sim, isso compila e roda.
Because is a beautiful song By Paul McCartney and John Lennon
wind blows my mind and blue sky makes my heart sadly cry for me
Love our round world you are on it
turns 1969 old

#define I Love you


EDIT: O word-wrapping bagunça todo o layout
Vou anexar como arquivo.
 Nome do arquivo ioccc.c [Disk] Download
 Descrição
 Tamanho 4 Kbytes
 Baixado:  70 vez(es)

This message was edited 3 times. Last update was at 02/02/2009 15:56:30


Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
Andre Brito
JWizard

Membro desde: 21/07/2007 17:44:31
Mensagens: 2485
Localização: Paraná
Offline

Que legal, Victor. Realmente não sabia disso.

Agora, imagine fazer isso no first problem do contest (i.e., o problema mais fácil), sendo que o contestant tem 1 hora e 15 minutos pra resolver 3 problemas (em ordem não decrescente de complexidade). Esses poloneses...

Abraço.

Editado:
Eu achei o seu uma verdade obra prima. Agora... O código que eu postei nem fazer um desenhinho bonito ele fez E nem era relacionado a uma música!

Abraço!

This message was edited 2 times. Last update was at 02/02/2009 17:02:42


Como organizar o GUJ.
Meu Twitter.
Meu blog.
Future proofing means making code easy to change, not trying to anticipate every possible way your code might need to change.
[WWW]
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

Andre Brito wrote:Que legal, Victor. Realmente não sabia disso.

Agora, imagine fazer isso no first problem do contest (i.e., o problema mais fácil), sendo que o contestant tem 1 hora e 15 minutos pra resolver 3 problemas (em ordem não decrescente de complexidade). Esses poloneses...

Abraço.

Editado:
Eu achei o seu uma verdade obra prima. Agora... O código que eu postei nem fazer um desenhinho bonito ele fez E nem era relacionado a uma música!

Abraço!


Hehe.
Teve dois outros códigos bem mais complexos que este, que escrevi e acabei deixando pela metade. Ficaram tão malucos que eu já não conseguia mais entender porra nenhuma do que tinha escrito. E tinham bugs e crashes que eu não fazia a menor idéia de qual era a origem e fazer o debug era um verdadeiro inferno.

This message was edited 1 time. Last update was at 02/02/2009 20:05:58


Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
Ferryman
JavaGuru
[Avatar]

Membro desde: 26/10/2006 16:30:23
Mensagens: 220
Offline

Eai pessoal...

Pra mim um bom design é conseguir ler os requisitos no código fonte com facilidade.
É prazeroso trabalhar em sistemas bem projetados, até mesmo para evolui-lo e dar manutenção, que são atividades que normalmente os desenvolvedores "temem".

[]s

Rafael Farias Silva (@rafaferry)

Jsigner - Engenharia reversa automática através do maven. Acesse http://code.google.com/p/jsigner
[Email] [WWW]
victorwss
JWizard
[Avatar]

Membro desde: 18/12/2007 14:46:00
Mensagens: 2409
Localização: São Paulo - SP
Offline

Ferryman wrote:Eai pessoal...

Pra mim um bom design é conseguir ler os requisitos no código fonte com facilidade.
É prazeroso trabalhar em sistemas bem projetados, até mesmo para evolui-lo e dar manutenção, que são atividades que normalmente os desenvolvedores "temem".

[]s


Concordo, você tem gosto de trabalhar quando vê que o negócio foi bem desenvolvido. Isso também diminui bastante a probabilidade de tropeçar em bugs já existentes e/ou ocultos, ou de quebrar alguma coisa, ou ser forçado a mexer em um monte de outras funcionalidades para poder fazer o que te pediram. E mesmo se isso ocorrer, em poucos minutos você resolve o problema, enquanto que em um sistema mal-projetado você perde vários dias por conta disso.

Victor Williams Stafusa da Silva

Bacharel em Ciência da Computação - UFMT // Especialista em Desenvolvimento Java - CEFET/MT // Doutorando em Ciência da Computação - IME-USP
SCJP 6.0 - 19/12/2007 - PASS - 88% // SCWCD 5 - 17/05/2008 - PASS - 79% // SCJA - 09/09/2008 - PASS - 96% // SCSNI - 30/06/2009 - PASS - 68% // SCBCD 5 - 31/05/2010 - PASS - 95%
Próximos: SCJD (encalhado com o projeto), SCEA parte I (estudando). Algum dia desses: SCMAD, OCA, SCEA e SCDJWS.

Computação: uma ciência holística e esotérica!
E então veio Deus a terra e disse aos homens: Não dividireis por zero.
XML is a giant step in no direction at all. (Erik Naggum)
Arquitetura de sistemas: Eu prefiro ser essa metamorfose ambulante do que ter aquela velha opinião formada sobre tudo.
Diga não as drogas: Não use java.util.Vector.
Cuidado: Este usuário pode ter temperamento agressivo.

Always code as if the person who will maintain your code is a maniac serial killer that knows where you live.
I am the maniac serial killer that knows where you live who will maintain your code.


É impossível falar de CMMI (Capability Maturity Model Integration) sem saber o que é CIMM (Capability Im-Maturity Model).


Se você escreve "concerteza", "concerteza" você andou matando aulas de português.
[MSN]
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

victorwss wrote:
Uma vez eu participei do IOCCC, mas não fui classificado.


Do nível que tá o IOCCC hoje, vc precisa fazer um sistema operacional pra começar a se classificar. Ou um bi-interpretador de um dialeto de brainfuck e whitespace que leia o próprio código que gere código em Shakespeare.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
apgomes88
Entusiasta Java
[Avatar]

Membro desde: 06/01/2009 08:35:59
Mensagens: 22
Localização: Feira de Santana, BA.
Offline

Para alguns desenvolvedores o design pode não ser o mais importante, mas é o que vai agradar o cliente (claro que estou falando de usuários finais).

Não adianta o sistema ter integração com SAP, utilizar mil tecnologias e ter a "cara" do Windows 3.1!

=P
rodrigoy
GUJ Ranger
[Avatar]

Membro desde: 18/04/2006 01:06:28
Mensagens: 758
Localização: São Paulo
Offline

Um bom design é aquele que resolve requisitos da maneira mais simples possível...

Rodrigo Yoshima
www.ASPERCOM.com.br

Próximas Turmas:
São Paulo: Scrum 28/agosto | OOAD-UML 13/setembro

Débito Técnico Blog: blog.aspercom.com.br
[WWW]
jbmsegundo
JavaBaby
[Avatar]

Membro desde: 27/04/2007 13:22:04
Mensagens: 90
Offline

apgomes88 wrote:Para alguns desenvolvedores o design pode não ser o mais importante, mas é o que vai agradar o cliente (claro que estou falando de usuários finais).

Não adianta o sistema ter integração com SAP, utilizar mil tecnologias e ter a "cara" do Windows 3.1!

=P


Mas design que estão se referindo na thread não seria relacionado a Arquitetura de Software?

http://www.jsegundo.com.br
Bruno Laturner
GUJ Expert
[Avatar]

Membro desde: 18/02/2008 16:17:53
Mensagens: 3002
Offline

Um bom design... é aquele que não deixa o programador que vai fazer a manutenção do sistema puto da vida.

A métrica para dizer de o design é bom ou não, é a quantidade de palavrões proferidos por minuto.

A resposta acima foi achada em menos de 5 minutos no google.
The prisoner falls in love with his chains. --E.W. Dijkstra
[WWW]
 
Índice dos Fóruns » Metodologias de Desenvolvimento e Testes de Software
Ir para:   
Powered by JForum 2.1.8 © JForum Team