Analizador de Codigo (best-practices)

FxCop es una herramienta libre de analisis de codigo para .net. Esta herraminenta analiza el asembly y verifica si las guidelines fueron aplicadas.
Las guidelines se encuentran en .NET Framework SDK\Reference\Design Guidelines for Class Library Developers. Estas traen información y buenas prácticas sobre: nomenclaturas, patrones de manejo de errores, patrones de diseño, entre otros temas.
Es cierto que tilizar este analizador no nos asegura realizar codigo 100% seguro, pero si nos permite realizar un codigo mas robusto y de mayor calidad, reduciendo asi los riesgos.Posee una interfaz bastante sencilla, simple de usar y amigable, puden descargarlo desde aqui ,
tambien posee una version de linea de comandos que no la use.


LEER MAS

Ejemplo de Generics en C# 2.0

Vamos a ver una de las nuevas características de C# 2.0.

A medida que los proyectos son mas complicados, los desarrolladores necesitamos incrementar de la mejor manera la reutilización y personalizacion del Software. Para conseguir una alto nivel de reutilización de código, los desarrolladores podemos utilizar esta característica llamada Generics.Usando Generics, podemos crear clases templates que soporten cualquier tipo. Cuando instanciamos la clase, especificamos el tipo que queremos usar, y desde este punto, nuestro objeto es creado para el tipo que nosotros elegimos.

Veamos un ejemplo de como crear una clase genérica en C# 2.0

using System;
using System.Collections.Generic;
using System.Text;
using System.Collections;namespace PruebaGenerics

{

public class

MyCustomList<MYTYPE>

{
private ArrayList _mList= new ArrayList();

public MYTYPE this[int index]
{
get
{
return (MYTYPE)_mList[index];
}
set
{
_mList[index] = value;
}
}

public int Add(MYTYPE value)
{
return _mList.Add(value);
}

public void Remove(MYTYPE value)
{
_mList.Remove(value);
}
}
}







Aquí, MyCustomList es creada en un ArrayList. Pero estos métodos e indexaciones son fuertemente tipeadas, es un contenedor para cualquier tipo que tu elijas cuando tu creas la clase. Este contenedor es definido entre signos "< >" después del nombre de la clase. Ahora vemos como crear una instancia de la clase MyCustomList.




using System;
using System.Collections.Generic;
using System.Text;
using PruebaGenerics;namespace GenericsConsole

{

class Program
{
static void Main(string[] args)
{
MyCustomList<int> lEnteros = new MyCustomList<int>();
lEnteros.Add(23);
Console.WriteLine("lista con entero: "+lEnteros[0]);

MyCustomList<string> lString = new MyCustomList<string>();
lString.Add("Te gusto?");
Console.WriteLine("lista con string: "+ lString[0]);

Console.ReadKey();
}
}
}


Lo que hice fue agregar un nuevo proyecto de consola a la solución para probar la clase MyCustomList. Después hice dos declaraciones de la clase, una instancia para almacenar enteros "lEnteros" y otra para string "lString", como podemos ver solo le indicamos entre "< > " el tipo de datos que sera soportado y así podemos utilizar la misma clase para ambos casos.......

LEER MAS

 

©2009 _Sebastian | Template Blue by TNB