이 기능의 모양이 마음에 들지 않습니다. "마법의 끈"없이는 못생긴 것처럼 보이게하는 방법이 있습니까?이 표현식에 최적화가 필요한지 여부
private static bool Inconsistent(AdStats adStat) {
return
adStat.Daily.Impressions != adStat.Hourly.Sum(h => h.Value.Impressions) ||
adStat.Daily.Clicks != adStat.Hourly.Sum(h => h.Value.Clicks) ||
adStat.Daily.Spent != adStat.Hourly.Sum(h => h.Value.Spent) ||
adStat.Daily.SocialImpressions != adStat.Hourly.Sum(h => h.Value.SocialImpressions) ||
adStat.Daily.SocialClicks != adStat.Hourly.Sum(h => h.Value.SocialClicks) ||
adStat.Daily.SocialSpent != adStat.Hourly.Sum(h => h.Value.SocialSpent) ||
adStat.Daily.UniqueImpressions != adStat.Hourly.Sum(h => h.Value.UniqueImpressions) ||
adStat.Daily.UniqueClicks != adStat.Hourly.Sum(h => h.Value.UniqueClicks) ||
adStat.Daily.SocialUniqueImpressions != adStat.Hourly.Sum(h => h.Value.SocialUniqueImpressions) ||
adStat.Daily.SocialUniqueClicks != adStat.Hourly.Sum(h => h.Value.SocialUniqueClicks);
}
오래되었지만 부품의 합계가 실제로 저장된 총계와 일치하는지 확인하여 일관성을 테스트하는 것이 쉽습니다. 그리고 당신의 코드에서 "[마법 문자열] (http://stackoverflow.com/questions/11099876/avoiding-magic-strings-and-numbers)"을 보지 못했습니다. –
사람들이 "최적화"라고 말하면 코드를 빠르게 실행하거나 메모리를 적게 사용한다는 의미입니다. 때로는 코드 자체가 공간을 덜 차지하게 만듭니다. 더 읽기 쉽도록 만드는 것은 더 쉽게 읽을 수 있도록 만들어졌습니다. –
공백을 삽입하여'! ='(및 on) 부분을 정렬 할 수 있습니다. 그것은 시각적으로 덜보기 흉하게 만들지 만 올바른 방법을 찾기 위해 속성을 필요로한다는 의미에서 여전히 "못 생겼습니다". 그것은 "마법의 끈"을 사용하는 단위 테스트에 의해 보장 될 수 있습니다. –