quinta-feira, 29 de janeiro de 2009

Ergonomia

Criar um site para a Web ou desenvolver qualquer outro tipo de aplicação envolve, acima de tudo, uma boa organização dentro da equipa de concepção. Este conceito aplica-se de duas formas: do programador para o utilizador e do programador para a sua equipa.

Como utilizadores regulares da Internet, todos sabemos como é fácil existir redundância de informação, pouca clareza na navegação, longos tempos de espera, inconsistência do ponto de vista gráfico, entre outras contrariedades que, com o pouco tempo do dia-a-dia, nos faz fechar a janela e procurar outra alternativa, tendo em conta que existem actualmente mais de mil milhões de páginas na internet.

Visto isto, é essencial tirar partido do nosso próprio usufruto da Web e pensar no utilizador final e na forma como este vai interagir com o produto. Há que ter em consideração:

Usabilidade – A utilização da aplicação deve ser o mais amigável possível de forma a entender-se rapidamente como usá-la.
Navegabilidade – A partir de uma boa estrutura hierárquica da aplicação deve pensar-se na navegação na tentativa de ser lógica, intuitiva, clara e não redundante.
Simplicidade – Manter a aplicação simples. Demasiada informação ou informação repetida torna-se inconsistente para o utilizador e desvia a sua atenção do que é essencial reter.
Consistência – Criar uma aparência consistente, sem utilizar muitos tipos de fontes, muitas cores que não se conjuguem nem se relacionem com a informação a ser passada.

Como programadores, acontece regularmente haver a necessidade de se modificar linhas de código realizadas por outro programador. Quando estamos a falar em grandes projectos, é fácil perdermo-nos naquela que será a organização de outra pessoa.

Como tal, o ideal é estandardizar o mais possível o desenvolvimento de um projecto elaborado em equipa. Para isso é essencial ter em conta algumas situações:

Nomenclatura – É conveniente ter alguma atenção aos nomes de variáveis, métodos, classes, funções, etc. Devem ser coerentes e facilmente identificáveis com a informação que disponibilizam. É também importante que a escrita seja igual em toda a aplicação, como por exemplo utilizar só letras minúsculas ou o identificador de um controlo começar pelo diminutivo do tipo de controlo (Ex: btnClicar, em que o controlo é um botão)
Formatação – Para uma mais fácil formatação de tabelas ou controlos utilizam-se folhas de estilo em cascata, CSS. Estas permitem controlar tamanhos, espaçamentos, cores entre outras propriedades. A utilização de CSS leva a uma diminuição de propriedades atribuídas directamente aos controlos e abre a possibilidade da reutilização do mesmo estilo em todo o site tornando-o assim mais consistente.
Comentário – Nas situações de menor evidência do resultado de uma parte do código é fundamental colocar comentários que permitam uma maior clareza do funcionamento do mesmo.
Funcionalidade – Para existir funcionalidade é indispensável reduzir a redundância. Se um excerto de código vai ser reutilizado mais vezes ao longo do projecto então será mais fácil desenvolver um método ou uma função que depois seja chamada ao longo do projecto ao invés de repetir as mesmas instruções várias vezes.

Nem sempre se consegue cumprir todas estas regras, e tantas outras, à risca. Mas se no desenvolvimento de software tivermos em conta que também poderemos ser nós utilizadores da aplicação ou programadores da equipa que está sujeita a proceder a alterações no projecto torna-se mais fácil entender o quão essencial é cumpri-las.

quinta-feira, 1 de janeiro de 2009

Videos de formação para Aspx, Ajax e MOSS

Quem já não sentiu que é cada vez menor o tempo disponível, para acompanhar os novos produtos e soluções que emergem no mercado, inclusive os directamente relacionados com o nosso negócio. O que na maior das vezes leva-nos a tomar decisões erradas relativas à sua correcta utilização.

Quantas vezes, demos por nós sem tempo para podermos apoiar da melhor forma, os novos elementos da equipa. Algo que a médio prazo pode trazer problemas sérios, sem contar com a produtividade, que nunca consegue atingir o nível ideal.

Existe sempre a solução de formações pós-laborais, mas para além de serem dispendiosas, trazem uma sobrecarga adicional aos colaboradores. Sendo que muitas delas, principalmente as baseadas em tecnologias recentes no mercado Português, não passam de um debitar de informação do manual, sem nenhuma mais valia em termos de experiências do formador.

Como o nosso país ainda tem um pequeno gap (e ainda bem) na adopção das últimas tecnologias, existe uma solução que temos adoptado com cada vez maior frequência – Vídeos de formação – apresentados por alguém com experiência comprovada nos produtos que está a apresentar. Acabam por ser sessões explicativas relativamente curtas mas que focam os pontos essenciais.

Deixo aqui uma referência para um site que tem alguns excelentes vídeos de formação em tecnologia Microsoft, www.traincert.net. Tem inclusive alguns vídeos de oferta muito interessantes. Se quiser fazer o download de todos os restantes vídeos, o custo é de 19 dólares.

Deixo aqui uma lista resumida dos vídeos (existe também uma enorme lista para os interessados em DotNetNuke):

SharePoint 2007 Developer Vídeos
SharePoint #1 : Developing WebParts (24:15)
SharePoint #2 : Developing Features (29:55)
SharePoint #3 : Application Pages (13:47)
SharePoint #4 : Feature Receivers (10:55)
SharePoint #5 : Ajaxified WebParts with Gaia (33:13)

Various New TrainCert.NET Videos
Ajax : Getting Started with Ajax on ASP.NET (30:37)
Ajax : Intro to Gaia Ajax Widgets for ASP.NET (27:40)
Ajax : SharePoint 2007 Ajax WebParts (33:13)

ASP.NET 2.0
ASP.NET 2.0: Data Access (30:18)
ASP.NET 2.0: Data Access (25:49)
ASP.NET 2.0: Master Pages (7:46)
ASP.NET 2.0: Skins and Themes (5:13)
ASP.NET 2.0: Profiles (6:44)
ASP.NET 2.0: Localization (11:6)
ASP.NET 2.0: Site Navigation (11:29)

C# 2.0 Language Enhancements
C# 2.0 : Generics (21:0)
C# 2.0 : Anonymous methods (9:45)
C# 2.0 : Partial Types (9:48)
C# 2.0 : Iterators (9:47)
C# 2.0 : Minor enhancements (12:43)

Visual Studio 2005 IDE enhancements
VS.NET 2005 : Class Designer (16:44)
VS.NET 2005 : Snippets & Intellisense (15:10)
VS.NET 2005 : New debugger features (11:3)
VS.NET 2005 : Refactoring (13:58)

VB.NET 2.0 Enhancements
VB.NET 2005 : IDE Enhancements (12:40)
VB.NET 2005 : Language Enhancements (12:5)
VB.NET 2005 : My Namespace (10:48)