Então é uma solução temporária? Em seguida, use o nome sugerido pelo revisor, mas marque o método como obsoleto, para que o uso gere um aviso sempre que alguém compilar o código.
Caso contrário, você sempre pode dizer que isso 216147
não faz sentido no código, pois o código não está vinculado ao sistema de rastreamento de bugs (é o sistema de rastreamento de bugs que está vinculado ao controle de origem). O código-fonte não é um bom lugar para referências a tickets e versões de erros e, se você realmente precisar colocar essas referências, faça-o nos comentários.
Observe que, mesmo nos comentários, o número do bug por si só não é muito valioso. Imagine o seguinte comentário:
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 o código foi escrito há dez anos, que você acabou de ingressar no projeto e que, quando perguntou onde poderia encontrar alguma informação sobre o bug 8247, seus colegas disseram que havia uma lista de bugs no site do software de sistema de relatórios, mas o site foi refeito há cinco anos e a nova lista de bugs tem números diferentes.
Conclusão: você não tem idéia do que é esse bug.
O mesmo código poderia ter sido escrito de uma maneira ligeiramente 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.
}
Agora você tem uma visão clara do problema. Mesmo que pareça que o link de hipertexto no final do comentário esteja morto há cinco anos, isso não importa, pois você ainda pode entender por que FindReportsByDate
foi substituído por FindReportsByDateOnly
.