기본적으로 OCR 기능을 제공하는 시스템이 내 작업장에 있습니다. 프로세스는 캡처 된 화면을 표시하도록 타사 응용 프로그램을 구성하고 (OCR 프로세스 중에) 캡처 된 데이터가 올바른지 확인하는 PC에 사용자가 앉아 있다는 것입니다.추상화 계층을 만드는 TDD
이 캡처 단계에는 각 필드에 대한 유효성 검사가 있습니다. 예를 들어, 문서가 특정 고객의 송장 일 경우, 송장의 공급 업체는 참조 데이터에 대해 검증됩니다. 인증 코드는 Visual Studio 2008 솔루션에서 직접 생성 한 컴파일 된 .net dll 형식입니다.
타사 인터페이스는 캡처 양식과 내가 작성한 코드 간의 통신에 사용됩니다. 예를 들면 다음과 같습니다.
#region GetLinesTotal
/// <summary>
/// Gets the total for e.g. all VAT lines from the table
/// </summary>
/// <param name="oCSM">ITisClientServicesModule</param>
/// <param name="oTab">field table object</param>
/// <param name="fieldName">partial fieldname of table field (without the $XXXX)/param>
/// <returns>total as a string, empty string if all values empty</returns>
public static string GetLinesTotal(ITisClientServicesModule oCSM,ITisFieldTableData oTab, string fieldName)
{
string sLineTot = string.Empty;
ErrHandling.TryInit(oCSM);
string sFunction = "GetLinesTotal";
try
{
decimal dTot = 0m;
string sTemp = string.Empty;
for (int i = 0; i< oTab.NumberOfRepetitions;i++)
{
sTemp = Utils.GetFieldCont(oTab.ParentForm,fieldName + "$" + i.ToString("X").PadLeft(4,'0')).Trim();
if (sTemp != string.Empty)
{
dTot += Convert.ToDecimal(sTemp);
sLineTot = dTot.ToString();
}
}
}
catch (Exception ex)
{
ErrHandling.errHandler.LogMsg(ex.ToString(),sFunction,CLASS_NAME,TIS_SEVERITY.TIS_ERROR);
sLineTot = "INVALID";
}
return sLineTot;
}
#endregion GetLinesTotal
은 내가 원하는 무엇 등을 쉽게 테스트 (TDD)에 대한 허용이 코드 (우려를 분리),
에서 제 3 자 인터페이스를 제거, 추상화 계층을 만드는 것입니다 나는 이러한 접근법에 익숙하지 않으며 잘못된 가정을 한 경우 사과드립니다. 코드로 어떻게 진행할 지에 대한 조언을 얻을 수 있는지 궁금합니다. 어느 시점에서 우리 회사 (회사)는 다른 제 3 자 OCR 응용 프로그램을 선택하기로했습니다. 사전
+1 다른 대답은 YAGNI (항상 좋은 원칙)에 초점을 맞추는 반면 테스트 가능성을 활성화하는 것도 중요합니다. –
죄송 합니다만, 현재 타사 OCR 도구에서 벗어나고 있습니다. – swissarmykirpan
위 소스에서이 구현 예제를 얻을 수 있습니까? – swissarmykirpan