Planos de Aprendizado para Certificações Microsoft

17 F Y

Quem deseja obter qualquer certificação, seja ela Microsoft, Sun, Oracle ou de qualquer outra entidade, sabe que a boa preparação com bons materiais é essencial para o sucesso. Alguns podem entrar em cursos preparatórios, que são uma ótima forma para se habilitar para a prova, e nos quais o próprio curso indica aos alunos os materiais que devem ser estudados. Outras pessoas não tem tempo, dinheiro ou simplesmente preferem estudar sozinhas, e caem no dilema de escolhar quais recursos irão usar para a sua preparação. A variedade é imensa, livros, páginas, virtual labs, exemplos que vem com o Visual Studio, e nem sempre a escolha feita é correta.

Para auxiliar nesta escolha, a Microsoft oferece em http://learning.microsoft.com planos de estudo, indicando material e ajudando no seu planejamento e controle pessoal de como está o andamento de seus estudos. Para usar, basta se logar usando seu Passport e procurar qual o seu objetivo de estudo, como uma prova de certificação em específico.

Minha experiência com o site foi muito boa, principalmente psicologicamente 🙂 … Quando participei do S2B – Students 2 Business no fim do ano passado, ganhei acesso durante alguns meses a dois cursos da IT Academy, voltados à certificação 70-536, que é meu atual objetivo. Quando adicionei o plano de estudos da 70-536 ao meu aprendizado no site, vi que o material que eu já havia estudado na IT Academy era um dos materiais recomendados… e também que se eu não tivesse ganho acesso grátis, o custo para adquirir este material seria de quase R$ 800,00.

Apesar do sistema sugerir este tipo de conteúdo, que você precisa comprar direto com a Microsoft e que geralmente é caro e em dólar, ele também sugere alternativas como livros, encontrados na maioria das livrarias por um preço acessível. A maior vantagem está nos links para conteúdos gratuitos que são indicados. São artigos na MSDN, webcasts, páginas com dicas, sugestões de exemplos que vêm com o Visual Studio a serem usados como práticas, enfim, muito material para complementar sua formação.

O objetivo da certificação no meu ponto de vista é mostrar para o mercado que aquele profissional é preparado para lidar com os problemas que envolvem os assuntos da prova que ele fez, e um dos pontos fortes deste plano de aprendizado é que ele não foca exatamente na prova. Ele foca na preparação para a vida prática, com uso dos conteúdos. No caso da 70-536, o material sugerido ajuda a aprender como funciona e como utilizar o poder do .NET Framework da melhor forma possível, não é material “estilo cursinho” que só prepara para fazer uma prova, sem que a pessoa entenda ou fixe de verdade.

Pra facilitar as coisas, aí está o link direto para o Plano de Aprendizado da 70-536:

Learning Plan for Application Development Foundation by Using Microsoft .NET Framework 2.0 (Exam 70-536)

Para todos que desejam fazer alguma prova de certificação MS, bons estudos e boa sorte!


Enum.Parse – Você vai esquecer que usava switch para isso…

10 F Y

Quantas vezes você precisou recuperar os dados de, por exemplo, uma drop-down list contendo o estado em que seu usuário mora, e converter isso para o seu tipo enum Estados? Quantas vezes você já escreveu switches enormes, um case para cada campo de seu enum, só pra poder converter o valor que veio numa string, igual ao nome do campo da enum, para o tipo da enumeração? Seus problemas acabaram…

O método Enum.Parse resolve isto para você em uma (ou algumas poucas mais…) linha. Se você tem uma enum Estado, em que cada campo é a sigla do estado, você pode usar o seguinte:

string estadoUsuarioString = "PE";
Estado estadoUsuarioEnum = (Estado) Enum.Parse(typeof(Estado), estadoUsuarioString);

Só isso… ao fim da execução, estadoUsuarioEnum vai ter como valor Estado.PE, sem precisar de todos aqueles cases que você estava acostumado. Então alguém me diz: “O nome dos campos de minha enum estão todos em maiúsculas, mas o valor que vem do usuário vem em minúsculas (ou misturado, miguxês, qualquer forma que não sejam todas maiúsculas…). Isso é inútil pra mim”. É aí que esta pessoa se engana. Além da assinatura Enum.Parse (Type, String), podemos usar a assinatura Enum.Parse (Type, String, Boolean). O Boolean que você vai passar é indicando se o match será case-sensitive ou não. Usar sem passar o parâmetro é igual a passá-lo como true. Passar false fará os retornos de

(Estado) Enum.Parse(typeof(Estado), "pe", false);
(Estado) Enum.Parse(typeof(Estado), "pE", false);
(Estado) Enum.Parse(typeof(Estado), "Pe", false);
(Estado) Enum.Parse(typeof(Estado), "PE", false);

serem iguais a Estado.PE.

Devemos lembrar que se não existir na sua enumeração um campo com nome igual (ou igual case insensitive, para a assinatura com Boolean), o método retorna uma exceção (System.ArgumentException), então devemos usá-lo com cuidado para não estourarmos um erro na tela do usuário. Por segurança, o método deveria estar dentro de um try-catch (daí o ou algumas poucas linhas a mais), onde o tratamento do catch seria o código que você escrevia no “default:” de seu obsoleto switch.

Confesso que antes de encontrar algo na net sobre isso, usei switch várias vezes, e comecei procurando errado, pensando que não existia nada “pronto” para fazer isso. Procurei por alguma técnica usando Reflection e seus Invokes, e encontrei várias pessoas com a mesma dúvida em fóruns… sempre, depois de vários posts chegava alguém e perguntava: “O que você quer não é usar Enum.Parse?” :)… O que não dá pra fazer (que seja suficientemente “simples”…) em uma linha no .NET Framework?

Para mais informações: http://msdn.microsoft.com/en-us/library/system.enum.parse(VS.80).aspx