나는 코드 계약을 사용하기 시작했으며 방법의 '용기'를 즉각적으로 파악하는 것을 어렵게한다는 것을 발견했습니다..NET 4.0에서 코드 계약을 어떻게 사용합니까? 코드가 어수선하게 보이지 않습니까?
이 (매우 간단) 예를 보자 이제 나는 그들이 숨어 할 수 있도록 영역에서 계약을 넣어 유혹하고있어
public static void UserAddNew(string domain, string username, string displayName)
{
Contract.Assert(!string.IsNullOrWhiteSpace(domain));
Contract.Assert(!string.IsNullOrWhiteSpace(username));
Contract.Assert(!string.IsNullOrWhiteSpace(displayName));
LinqDal.User.UserAddNew(domain, username, displayName);
}
,하지만 그때 난 것을 걱정 그 방법을 한눈에 볼 수있는 좋은 이점을 잃어 버리고 그것이 기대하는 것을 볼 수 있습니다.
계약을 '깔끔하게'유지하려면 어떻게합니까? 아니면 너무 까다 롭지 않은가?
가능한 중복 ": 코드를 어수선하게 보이지 않으면 서 응용 프로그램에 새로운 기능을 어떻게 추가합니까?" –
AFAICT, 이것은 새로운 것이 아니며 코드 계약에 고유하지 않습니다.이 방법은 CC 이전에 매개 변수를 확인하는 것이 었습니다. 그렇지 않습니까? 나는 약간의 공백으로부터 이것에 대한 해결책을 가지고 있지 않다 ... – Mormegil
나는 Mormegil에 동의한다. CC가 나오기 전에 "if (condition) throw new argumentexception"이라고 써야합니다. – koenmetsu