大布尔表达式比分解成谓词方法的同一个表达式更具可读性吗?[关闭]
什么更容易理解,一个大的布尔语句(相当复杂),或同一语句分解为谓词方法(很多额外的代码需要阅读)? 选项1,大布尔表达式: private static bool ContextMatchesProp(CurrentSearchContext context, TValToMatch propVal) { return propVal.PropertyId == context.Definition.Id && !repo.ParentId.HasValue || repo.ParentId == propVal.ParentId && ((propVal.SecondaryFilter.HasValue && context.SecondaryFilter.HasValue && propVal.SecondaryFilter.Value == context.SecondaryFilter) || (!context.SecondaryFilter.HasValue && !propVal.SecondaryFilter.HasValue)); } 选项2,条件分为谓词方法: private static bool ContextMatchesProp(CurrentSearchContext context, TValToMatch propVal) { return MatchesDefinitionId(context, propVal) && MatchesParentId(propVal) && (MatchedSecondaryFilter(context, propVal) …