더 이상 사용되지 않는 방법을 단계적으로 제거해야합니다. [Obsolete]속성을 알고 있습니다. Microsoft에 권장 모범 사례 가이드가 있습니까?
내 현재 계획은 다음과 같습니다.
A. 개발자가 프로젝트에 새로운 참조를 추가해야하기 때문에 새 어셈블리를 만들고 싶지 않으며,이를 수행해야하는 경우 상사와 동료로부터 많은 슬픔을 얻을 것으로 예상됩니다. 또한 여러 어셈블리 버전을 유지 관리하지 않습니다. 최신 버전 만 사용합니다. 이 방법을 변경하려면 배포 프로세스를 변경해야합니다. 이는 큰 문제입니다 (FinalBuilder 대신 TFS로 작업을 수행하고 FinalBuilder를 포기하도록하는 방법을 사람들에게 가르쳐야 함).
B. 오래된 방법을 쓸모없는 것으로 표시하십시오.
C. 구현이 변경되고 있기 때문에 (메소드 서명이 아님) 오버로드를 만드는 대신 메소드의 이름을 바꿔야합니다. 따라서 사용자에게 적절한 방법을 알리기 위해 [Obsolete]속성에 메시지를 추가 할 계획 입니다. 내가하고있는 유일한 변경 사항은 연결 문자열에서 메소드를 분리하는 것이므로이 부분이 나를 귀찮게합니다. 그러나 새 어셈블리를 추가하지 않기 때문에이 문제를 해결할 방법이 없습니다.
결과:
[Obsolete("Please don't use this anymore because it does not implement IMyDbProvider. Use XXX instead.")];
/// <summary>
///
/// </summary>
/// <param name="settingName"></param>
/// <returns></returns>
public static Dictionary<string, Setting> ReadSettings(string settingName)
{
return ReadSettings(settingName, SomeGeneralClass.ConnectionString);
}
public Dictionary<string, Setting> ReadSettings2(string settingName)
{
return ReadSettings(settingName);// IMyDbProvider.ConnectionString private member added to class. Probably have to make this an instance method.
}