Programar seguro
ctg | 07 Junio, 2008 14:16Aprovechando que Microsoft ha lanzado Microsoft Source Analysis for
C#, he creado este post para anotar algunas conductas que siempre
recomiendo a la hora de escribir código. El principal objetivo es crear
un código seguro, escalable, de fácil lectura y mantenimiento.
Como siempre, cualquier crítica es bienvenida y espero ir añadiendo más puntos en un futuro.
1) Comentarios y variables
En
cada variable/método/función que se declara, utilizar nombres
razonables y en las variables miembro de una clase, no esta de más
poner un pequeño comentario (pero recordar, lo bueno si breve dos veces
bueno) para saber su objetivo.
En Visual Studio.net se pueden utilizar las etiquetas <summary>, <param> ... que facilitan mucho la lectura de código. Además Intellisense
hará uso de esas etiquetas y facilitaran la escritura de código.
Incluso, las etiquetas se pueden utilizar para la creación de
documentación.
2) Divide y vencerás
Evitar crear un ficheros de utilidades enormes. Por ejemplo, usar partial en C# que apareció en la versión 2.0 de .NET Framework. De esta forma es posible separar código en diferentes archivos para hacerlos más flexibles.
3) Utilizar excepciones en vez de retornar 0=OK, 1=ERROR ó HRESULT
Desde la aparición de las excepciones, la comprobación de los valores de retorno al llamar una función ha quedado obsoleta.
4) Utilizar ASSERT, TRACE
Cuando
se está desarrollando utiliza todas las herramientas que el propio
entorno y el mismo lenguaje proporcionan. En C#, el espacio de nombres System.Diagnostics se encuentra la clase Debug y Trace. En el artículo How to Trace and Debug in Visual C# aparecen ejemplos de su uso.
5) Cuidado con el código "no seguro"
Al
escribir código no seguro, debemos encargarnos nosotros mismos de
realizar de liberar los recursos previamente utilizados. Utiliza código
"no seguro" únicamente cuando seaestrictamente necesario.
6) Automatizar
Visual Studio incluye muchas formas
de automatizar código. Desde la utilización de un asistente para
generar el código de acceso a la base de datos, servicios web,etc...
Macros, snippets y programas que ayudan a la escritura y la automatización de código: MZ-Tools, Visual Assist, etc...
7) Utilizar todas las herramientas disponibles
Antes de Microsoft Source Analysis for C#, ya existían otros programas que ayudan a crear código mas seguro, FXCop es el más conocido, aunque realmente FXCop se centra más en los ensamblados. También existen otros analizadores como Code.It.Right
8) Atención a la entrada de datos
La entrada de datos es fuente de numerosos problemas. Algunos muy importantes, como los ataques de inyección SQL o problemas con la codificación de caracteres. Las expresiones regulares pueden ser una solución a este problema.
9) Realizar pruebas
Probar nuestro código en todos los sentidos. Introducir datos incorrectos, acciones que no estén
soportadas para observar nuestros mensajes de error. Puede ser muy útil
pedir a otra persona que comprueba nuestro programa y que realice una
batería de pruebas para asegurar la calidad de nuestro código.
10) Ser modesto, todos nos equivocamos
Todos nos equivocamos y quizá no hay mejor forma de aprender que equivocarse. Resolver problemas y asumir nuestra responsabilidad nos ayudará a concentrarnos para escribir código más seguro.
Posted in
General .
Comentario: (0).
Retroenlaces:(0).
Enlace
«Next post |
Previous post»