[Buenas prácticas] No comentes código antiguo, bórralo!!!

Siguiendo con los mini-posts (El primero aquí) que tengo pensado publicar, en esta ocasión le toca una mención especial a los comentarios.

Una de las cosas que más odio que cuando estoy trabajando en un proyecto y abro un archivo de código, es encontrarme código antiguo comentado, algo como esto:

public void Process(ReturnOrder returnOrder)

{

    //foreach (var item in returnOrder.ItemsToReturn)

    //{

    //    // a) Find the product.

    //    var product = _productRepository.FindBy(item.Product.Id);

    //    // b) Increase the stock.

    //    product.Stock += item.Qty;

    //    // c) Save the product.

    //    _productRepository.Save(product);

    //}

 

    _productService.ReturnStockFor(returnOrder);

                     

    _paymentGateway.Refund(returnOrder.RefundTotal(), 

                          returnOrder.PaymentTransactionId);           

                

    returnOrder.MarkAsProcessed();

    

    _returnOrderRepository.Save(returnOrder);

 

    _notificationService.SendReturnOrderNotificationFor(returnOrder);

} 

¿Por qué se comentó ese código? ¿Es importante? ¿Se le olvidó borrarlo al programador? ¿Quizás lo necesite y esté haciendo pruebas?

Como podéis observar, surgen muchas preguntas alrededor de este comentario y la respuesta es que sencilla, no es importante y es que se le olvidó borrarlo, porque haciendo una refactorización, lo encapsuló en otra función llamada ReturnStockFor que está en el servicio de productos.

Entonces, ¿Por qué no borrarlo?

Pues parece ser que este programador tendría miedo a perder el código, pero no se acuerda que esto tenía sentido cuando no se usaban repositorios de control código fuente, ya que estos mantienen un versionado de nuestros ficheros y que este código se podría recuperar facilmente acudiendo a la versión que corresponde.

Como bien dice el título del post: No comentes código antiguo, bórralo!!!

Buen fin de semana a todos.

Deja un comentario

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *