É uma má prática usar ferramentas de designer de GUI com geração de código para programação de aplicativos em Java / C ++?

8

Em uma pergunta stackOverflow, li que o uso de um programa de designer de GUI pode gerar muitos códigos confusos e é considerado uma prática ruim, a menos que você esteja criando programas menores.

Minha pergunta é por que e como. É ruim usar um programa de designer de GUI? Por quê?

Detalhes adicionais:

  • Programação em plataforma Windows;
  • Apenas programação em C ++ / Java para programas do Windows.
  • Para o IDE, eu uso o visual studio 2010 (não a edição expressa) desde que ele vem com o designer da GUI.
Bugster
fonte
Você poderia postar um link para a pergunta a que se refere?
FrustratedWithFormsDesigner
6
OMG, do título que eu deduzi a você sobre os outros designers da GUI ... as pessoas que fazem o design da GUI . E falar sobre usá- los como uma prática ruim, bem, foi incrível.
ZJR em 08/12
uau também ZJR, eu vou atualizar esse título!
Michael Durrant
Até o ZIR mencionar, eu nem sabia que existiam essas coisas. Você aprende algo novo a cada dia.
Bugster 9/03/12

Respostas:

12

Não é uma prática recomendada usar o designer da GUI para projetar seus formulários, a GUI. Esp no Visual Studio. Eles estão lá para esse fim e são amplamente utilizados.

No desenvolvimento web, é uma história diferente. É uma prática ruim usar o designer da GUI (por exemplo, o Microsoft Front Page agora substituído pelo WebMatrix). O motivo

  • Eles fornecem muito código extra que você realmente não precisa. Eles basicamente criam lixo.
  • Eles aumentam o tamanho do documento html. O que é ALTAMENTE indesejável para sites de ponta, com um grande número de acessos.
  • Eles são difíceis de manter devido a muito código de lixo eletrônico extra

Portanto, quanto à sua pergunta, não é uma prática recomendada usar a GUI nos formulários de design esp no Visual Studio. De modo nenhum.

Noname
fonte
Eu diria que seria uma prática ruim NÃO usar o vs designer para aplicativos de desktop.
22414 Andy
5

Para um projeto grande e médio, eles não devem ser usados, porque o código que eles geram não é muito agradável de manter. A menos que você não planeje limpar o código gerado por um designer de GUI, ficará melhor sem ele.

No entanto, eles são muito bons nos próximos casos:

  • para criar algo rápido e sujo (talvez para um protótipo)
  • para experimentar coisas novas e ver como seria
BЈовић
fonte
Acho que, com o VisualStudio, é extremamente raro manter e limpar manualmente o código gerado.
FrustratedWithFormsDesigner
@FrustratedWithFormsDesigner Não faço idéia. Nunca usei o visual studio. Minha experiência é no linux com ferramentas qt, onde o código gerado não é tão ruim, mas também não é bom. De qualquer forma, é possível limpá-lo #
308/08
4
Você nunca deve tocar manualmente em um código gerado. Não importa a aparência do código, porque você o mantém com o designer. O designer que apenas cria o código inicialmente, mas você precisa editá-lo manualmente não vale o nome e é um problema, mas todos os razoáveis ​​(por exemplo, Qt, VisualStuido) geram uma fonte separada que você nunca toca à mão. Normalmente, o código nem é versionado, mas gerado como parte da compilação.
Jan Hudec
2
Sim eu quero. Uma ferramenta que gera código e espera que você o mantenha manualmente depois é terrivelmente quebrada e causará muitos problemas, porque o código inevitavelmente terá algumas verrugas. Isso se aplica a qualquer gerador de código; O modelador ORM ou UML, funcionando assim, causará problemas da mesma maneira. Mas esse não é o caso dos designers modernos de GUI. O .NET e o Qt geram o código para que você defina a lógica em uma fonte separada e o Gtk nem gera código, mas interpreta o arquivo de designer em tempo de execução. A maioria das plataformas móveis se comporta de maneira semelhante.
Jan Hudec
1
@ PeterTaylor: Entrar no controle de versão não é o problema aqui. Ter que editá-lo é. O designer WinForms gera código que precisa entrar no controle de versão, porque o designer mantém as informações diretamente como fonte C #. Mas não precisa ser editado manualmente, porque é uma partialclasse e o código escrito manualmente entra em arquivos separados. Sim, as diferenças são tão feias quanto qualquer outro dado mantido por qualquer designer, mas isso não é um problema na prática.
Jan Hudec
4

Em geral, não acho que os designers de GUI sejam uma prática ruim. O principal benefício que eu acho que você obteria ao usar um bom designer de GUI:

  • Tempo de modificação e desenvolvimento de GUI mais rápido.
  • Você pode ver como será a interface do usuário sem precisar compilar e executar o programa.

Problemas potenciais que você pode encontrar:

  • Elementos dinâmicos da interface do usuário gerados / gerenciados em tempo de execução provavelmente não são possíveis com designers de GUI
  • Eu tive problemas com controles GUI mais complexos, como controles genéricos personalizados no VisualStudio.
  • O código gerado também pode ser uma fonte potencial de muita dor e problemas e se você tentar modificá-lo manualmente, o designer da GUI poderá não ser mais capaz de permitir que você o designe.

Obviamente, se você não souber como usar adequadamente essa ferramenta, poderá levar a problemas muito rapidamente.

FrustratedWithFormsDesigner
fonte
3

Depende muito, da ferramenta ou do ambiente de programação que você vai usar.

Na maioria das vezes, um bom designer de GUI (um tipo de gerador de código) é bom, onde você pode automatizar o máximo de código possível e, ao mesmo tempo, permite codificar manualmente, código especial, que não pode ser automatizado .

Os designers de GUI geralmente permitem automatizar itens relacionados à posição, cor, formato, estilo e deixar a lógica ou a programação dos controles para o programador.

Comentário adicional: O mesmo vale para ferramentas ORM, elas também são geradoras de código.

umlcat
fonte
1

Você precisa entender o que seu código faz. Se alguém vier até você e disser "Por que isso acontece?", "O Visual Studio fez isso para mim, não faço ideia", não é uma resposta aceitável. Contanto que você possa encontrar e resolver seus próprios erros de programa, não há problema com um designer de GUI, mas depois que você se encontra lutando com o programa e incapaz de seguir a lógica, precisa se afastar do WYSIWYG.

Yamikuronue
fonte