нас есть N элементов, в каждом имеются 6 стринговых переменных. Суть в том, чтобы пройтись по каждой и вычислить, какая после какой следует, именно не по порядку, а по внутренней логике. И сейчас это выглядит как набор из 100+ if'ов, который просто проверяет значения.
Например - if (element.Construction.StringValue == "СВ" && element.Parameters.StringValue.Contains("С")) то такая то логика. Вещей, которые работают примерно одинаково очень мало. Каждый чуть ли не уникально считается.
Как можно избавиться от этого?
Пока что звучит как chain of responsibility, но хз, стоит ли её городить ради этого
Определить расширенный метод GetEnumerator, и итерировать.
Вот я о том же, что мы попросту размажем эти ифы по коду. Вот я и думаю о том, чтобы оставить все как есть, ибо это работает, но с другой стороны хочется же все таки по человечески сделать
В теории CoR может сделать код понятнее
я бы наверно начинал не с того места где эти ифы начинают логическое ветвление , а от момента создания этих И-объектов
Обсуждают сегодня