Entonces, ¿es una solución temporal? Luego use el nombre sugerido por el revisor, pero marque el método como obsoleto, de modo que usarlo generaría una advertencia cada vez que alguien está compilando el código.
Si no es así, siempre puede decir que 216147
no tiene sentido en el código, ya que el código no está vinculado al sistema de seguimiento de errores (es más bien el sistema de seguimiento de errores que está vinculado al control de origen). El código fuente no es un buen lugar para referencias a tickets de errores y versiones, y si realmente necesita poner esas referencias allí, hágalo en los comentarios.
Tenga en cuenta que incluso en los comentarios, el número de error por sí solo no es muy valioso. Imagina el siguiente comentario:
public IEnumerable<Report> FindReportsByDateOnly(DateTime date)
{
// The following method replaces FindReportByDate, because of the bug 8247 in the
// reporting system.
var dateOnly = new DateTime(date.Year, date.Month, date.Day);
return this.FindReportByDate(dateOnly);
}
private IEnumerable<Report> FindReportsByDate(DateTime date)
{
Contract.Requires(date.Hour == 0);
Contract.Requires(date.Minute == 0);
Contract.Requires(date.Second == 0);
// TODO: Do the actual work.
}
Imagine que el código fue escrito hace diez años, que se acaba de unir al proyecto, y que cuando preguntó dónde podría encontrar información sobre el error 8247, sus colegas dijeron que había una lista de errores en el sitio web del software de sistema de informes, pero el sitio web se rehizo hace cinco años y la nueva lista de errores tiene números diferentes.
Conclusión: no tienes idea de qué se trata este error.
El mismo código podría haberse escrito de una manera ligeramente diferente:
public IEnumerable<Report> FindReportsByDateOnly(DateTime date)
{
// The reporting system we actually use is buggy when it comes to searching for a report
// when the DateTime contains not only a date, but also a time.
// For example, if looking for reports from `new DateTime(2011, 6, 9)` (June 9th, 2011)
// gives three reports, searching for reports from `new DateTime(2011, 6, 9, 8, 32, 0)`
// (June 9th, 2011, 8:32 AM) would always return an empty set (instead of isolating the
// date part, or at least be kind and throw an exception).
// See also: http://example.com/support/reporting-software/bug/8247
var dateOnly = new DateTime(date.Year, date.Month, date.Day);
return this.FindReportsByDate(dateOnly);
}
private IEnumerable<Report> FindReportsByDate(DateTime date)
{
Contract.Requires(date.Hour == 0);
Contract.Requires(date.Minute == 0);
Contract.Requires(date.Second == 0);
// TODO: Do the actual work.
}
Ahora tiene una visión clara del problema. Incluso si parece que el enlace de hipertexto al final del comentario está muerto hace cinco años, no importa, ya que aún puedes entender por qué FindReportsByDate
fue reemplazado FindReportsByDateOnly
.