Pergunta

Eu sou um estudante de ciência da computação concepção de um projeto e eu comecei perguntando o que são bons exemplos ou software, ou mesmo hardware que estão virando a linha entre ser rico em recursos com bons recursos utilizáveis ??para usuários regulares e ser muito intimidante para Novos usuários. Também alguém poderia recomendar quaisquer boas dicas / livros para a criação de aplicativos de boa qualidade que são rico em recursos, mas não "inchado"?

Foi útil?

Solução

"Faça tudo o mais simples possível, mas não mais simples." - Albert Einstein

"A perfeição não é alcançada quando não há mais nada a acrescentar, mas quando não há mais nada para tirar." - Antoine de Saint-Exupéry


Eu não estou tentando ser irreverente mas estas citações realmente são os melhores conselhos. A simplicidade do projeto deve ser seu objetivo. Não que alcançar a simplicidade é fácil! Pelo contrário, é bastante difícil, mas é possível.

Tente pensar sobre as coisas um pouco diferente. Ao invés de

Quantas coisas posso acrescentar antes que este se torna inchada?

try

O que são o menor número de características e elementos que podem incluir enquanto continua a fornecer uma experiência superior para os meus usuários?

Outras dicas

Aqui está um bom conjunto de slides de uma apresentação sobre o tema: salvamento Princesa 2.0 .

A primeira ordem do negócio deve ser apenas manter o aplicativo fácil de usar. Além disso, tudo o que posso dizer é, cuidado de escrever características para um usuário imaginário: certificar-se de que alguém realmente precisa dele antes de iniciar a codificação

.

Como uma resposta direta à sua pergunta: praticamente qualquer produto Microsoft. Eu estou mostrando meu preconceito aqui, mas a Microsoft tem uma tendência forte para manter sua base de código, e adicionar recursos em cima de recursos até que a funcionalidade original do aplicativo é quase perdeu sob montes de crud acrescidos.

Olhe para MS Word, por exemplo; enquanto você ainda pode simplesmente abri-lo e começar a digitar, Deus me livre se você deseja renumerar uma secção do documento, deixando o resto sozinho. Deus me perdoe se você deseja gerar um Índice que inclui referências a um apêndice. Este tipo de coisa é algo que é de rigueur para processadores de texto e Word suporta, ele só suporta isso de uma maneira que você não pode fazê-lo sem um manual, várias xícaras de café, e ataduras para parar o sangramento de bater o seu cabeça na mesa.

A Microsoft não é a única a fazer isso; esta coisa tende a acontecer o tempo todo, com todos os tipos de produtos; mas eles estão entre os piores criminosos, que eu encontrei.

1: O que seus usuários precisam e querem, e

2: Quais as características que você vai ter tempo para implementar

?

A sua pergunta é muito geral. Quais recursos constituem inchaço? Esse tipo de depende se você está escrevendo um scanner antivírus, um sistema operacional ou um processador de texto.

Não existe nenhuma barreira clara entre "bom" e "muito". No entanto, isso depende do que você quer fazer.

Se você está desenvolvendo um SDK, eu recomendo dividindo sua implementação em várias pequenas bibliotecas (ao invés de apenas uma grande biblioteca SDL, há o núcleo SDL, SDL_Mixer, SDL_Image, etc.)

Se você está desenvolvendo um aplicativo, manter um sistema baseado em módulo e um plug-in mecanismo. Dessa forma, novas funcionalidades podem ser adicionadas mais facilmente e inchaço pode ser mais facilmente detectado.

Você pode chegar a um ponto em que você vai adicionar novas funcionalidades alguns vão considerar "grande" e outros "inchaço". Caso contrário, o aplicativo pode chegar a um ponto que alguns chamam de "recurso-pobres" e os outros vão chamar-lhe "apenas o suficiente".

Esta não é uma citação exata, mas a idéia foi algo como isto:

Um pedaço de software é perfeito não quando não há mais nada a acrescentar, mas quando não há mais nada para remover.

Em essência, o mais simples e para-a-ponto é um software, o melhor.

Para obter exemplos de bom design de software, dê uma olhada em programas que são populares hoje. aplicativos do Google seria um bom lugar para olhar. Skype talvez. Heh, mesmo StackOverflow. :)

Se você quer intimidar, vá para o mundo do CAD. Confira por exemplo Blender . Isso é um software gratuito de designer 3D. Boa ferramenta que me disseram, mas a interface do usuário tem tantos botões / painéis / menus / etc. que faz coelhos do bebê chorar. Infelizmente eu não posso dizer se isso seria um bom exemplo de um "mau" UI. 3D design é uma muito processo complexo e todas essas ferramentas são, provavelmente, no lugar certo. Mas é definitivamente intimidante. :)

Um projeto ruim UI podem ser encontrados com software propieritary que vem com hardware propieritary. Infelizmente, não posso dar-lhe alguns exemplos do topo da minha cabeça.

Eu sempre tendem a projetar meus projetos de uma forma que eles são apenas esqueletos que são tão extensível quanto possível. fatores limitantes são o desempenho, complexidade ou de terceiros-limitações.
Desta forma, você pode adicionar recursos adicionais depois de terminar a estrutura básica. Um usuário também pode adicionar seus recursos necessários.

Isso provavelmente não funciona muito bem para GUI-aplicativos que devem ter uma boa usabilidade sem muita configuração, mas eu estou furando bom com esta abordagem para as libs que desenvolvo. (Eles são usados ??por outros programadores que gostam de ter uma peça altamente modifable de software)

Não é muito duro para desenvolver uma aplicação / lib, que está inchado com recursos. Mas é desenvolver um aplicativo que pode ser facilmente estendido por outros desenvolvedores / usuários para corresponder às suas próprias necessidades.

Desenvolver um plug-in sistema para que você adicionar e remover o material a qualquer momento ampla. Problema resolvido. Se apenas que era tão fácil como escrever código espaguete. ;)

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top