Mostrando postagens com marcador Curiosidades. Mostrar todas as postagens
Mostrando postagens com marcador Curiosidades. Mostrar todas as postagens
terça-feira, 3 de agosto de 2010
Boas práticas(best practices) e atalhos visual studio 2008
Bom gente hoje trouxe algumas boas práticas que usamos quando estamo codificando, para que o código fique mais legível e organizado.
Nome de classe : utilizamos primeira letra maiuscula de cada palavra ( ex: ClienteIncluir )
Propriedades : idem
Atributo : utilizamos primeira letra minuscúla da primeira palavra e as outras primeiras letras maiusculas ( ex: clienteNome )
namespace : utilizamos [nome da companhia].[Departamento].[Aplicação].[Camada] ( nunca se esquecendo do ponto)
Atalhos
CTRL + Shift + B -> Build ( Compilar )
F9 -> Seta breakpoint
CTRL + F5 -> Build sem depuração
F11 -> passa passo-a-passo apartir do breakpoint colocado entrando em todos os métodos.
F10 -> passa passo-a-passo apartir do breakpoint colocado mas não entra nos métodos.
Shift + F9 -> Quick Watch , serve para visualizar ou modificar valores em tempo de execução
CTRL + K + U -> Comenta
CTRL + K +C -> Descomenta
dica: clicando com o botão direito em cima do projeto e escolhendo a opção “Clear”, irá limpar os assembly e temporários.
Nome de classe : utilizamos primeira letra maiuscula de cada palavra ( ex: ClienteIncluir )
Propriedades : idem
Atributo : utilizamos primeira letra minuscúla da primeira palavra e as outras primeiras letras maiusculas ( ex: clienteNome )
namespace : utilizamos [nome da companhia].[Departamento].[Aplicação].[Camada] ( nunca se esquecendo do ponto)
Atalhos
CTRL + Shift + B -> Build ( Compilar )
F9 -> Seta breakpoint
CTRL + F5 -> Build sem depuração
F11 -> passa passo-a-passo apartir do breakpoint colocado entrando em todos os métodos.
F10 -> passa passo-a-passo apartir do breakpoint colocado mas não entra nos métodos.
Shift + F9 -> Quick Watch , serve para visualizar ou modificar valores em tempo de execução
CTRL + K + U -> Comenta
CTRL + K +C -> Descomenta
dica: clicando com o botão direito em cima do projeto e escolhendo a opção “Clear”, irá limpar os assembly e temporários.
segunda-feira, 28 de junho de 2010
Yield?
É algo já não tão novo, apareceu no C# 2.0, e só existe no C#, não existe no VB.
O yield serve para gerar um Enumerable on demand. Por exemplo, se você quiser
criar uma coleção de inteiros rapidamente, como faz? Veja abaixo, com yield:
public static IEnumerable<int> GetNums(int from, int to)
{
for (int i = from; i <= to; i++)
yield return i;
}Legal, né? Para usar é fácil, verificamos com um teste:
[TestMethod()]
public void GetNumsTest()
{
var nums = Class1.GetNums(2, 5);
Assert.AreEqual(4, nums.Count());
Assert.IsTrue(nums.Contains(2));
Assert.IsTrue(nums.Contains(3));
Assert.IsTrue(nums.Contains(4));
Assert.IsTrue(nums.Contains(5));
}Gosto bastante também do exemplo
do MSDN:
public static IEnumerable<int> Power(int number, int exponent)
{
int counter = 0;
int result = 1;
while (counter++ < exponent)
{
result = result * number;
yield return result;
}
}Mais uma vez, para testar:
[TestMethod]
public void PowerTest()
{
var nums = Class1.Power(2, 5);
Assert.AreEqual(5, nums.Count());
Assert.IsTrue(nums.Contains(2));
Assert.IsTrue(nums.Contains(4));
Assert.IsTrue(nums.Contains(8));
Assert.IsTrue(nums.Contains(16));
Assert.IsTrue(nums.Contains(32));
}Mas o yield não é para ser usado somente com inteiros, você pode usá-lo para
retornar um IEnumerable de qualquer coisa. Aqui um exemplo com strings:
public static IEnumerable<string> GetWordsUpper(string phrase)
{
foreach (var word in phrase.Split(' '))
{
yield return word.ToUpper();
}
}Para testar é fácil:
[TestMethod]
public void GetWordsUppderTest()
{
var palavras = Class1.GetWordsUpper("ola como vai?");
Assert.AreEqual(3, palavras.Count());
Assert.IsTrue(palavras.Contains("OLA"));
Assert.IsTrue(palavras.Contains("COMO"));
Assert.IsTrue(palavras.Contains("VAI?"));
}Você pode levar isso longe, como obtenção de dados do banco, obtenção de input
do usuário, tudo somente quando precisar, e por aí vai.
E você, já usou o yield? Gosta? Onde? Comente aqui.
Assinar:
Postagens (Atom)