Búsqueda


Categorías

C# [15]
PHP [6]
Zend [1]
FileMaker [1]
.NET [6]
CVS [3]
General [9]
Javascript [2]
Paypal [1]
.NET Compact Framework [3]
C++ [1]
mysql [4]
Linux [1]

Últimos post

Dónde guardar los archivos de configuración en ClickOnce
phpinfo: Valores en error_reporting
Notes about Zend Server and Zend Studio setup
What's new in C# 4
Resolving a 'sticky tag is not a branch' error
Resumen del CodeCamp
CodeCamp Tarragona 2009
Acerca de la calidad del código
ClickOnce en Linux
Programando en PHP (y con CVS) en Visual Studio 2008

Sindicación

RSS 0.90
RSS 1.0
RSS 2.0
Atom 0.3

Programar seguro

ctg | 07 Junio, 2008 14:16

Aprovechando 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»

Comentarios

Deja un comentario
















Animal con trompa: