Как это правильно закодить?
вынести как отдельный метод с флагом (Activated/Routed)
?
вынести как отдельный метод с флагом (Activated/Routed)да, хорошо.
Я сразу не заметил, что объект "e.Link" используется внутри обоих циклов, а что делать, если объект "e.Link" использовался бы только в первом случае в условии if?
так и так замедлится один из случаев, если их объединять.
так и так замедлится один из случаев, если их объединять.тк надо же оценивать насколько замедлиться
а что делать, если объект "e.Link" использовался бы только в первом случае в условии if?вынести из цикла в булевую переменную и юзать её внутри цикла.
вынести из цикла в булевую переменную и юзать её внутри цикла.в условии присутствует переменная по которой идет цикл "aa != e.Link"
а что делать, если объект "e.Link" использовался бы только в первом случае в условии if?вместо флага добавить анонимный делегат
вместо флага добавить анонимный делегатой, мама...
там же всего вычеркнуть из рассмотрения один элемент надо...
анонимный делегат 100% только overhead добавит.
вгляделся повнимательней - имо, флага "исключать ли текущий Link" достаточно.
вместо флага добавить анонимный делегатОпа , ты вроде выступал с тем, что колбеки это плохо, не понятно что где выполняется и т.д.?
"инъекция кода" - хорошо.
колбак - подразумевает передачу управления внешней программе
инъекция - подразумевает добавление выполнения локального куска кода
event driver - это колбалки
linq - это инъекция
А в C# есть closures? И макросы тоже тут хорошо вписываются.
есть. а макросов нет.
Оставить комментарий
6yrop
че та у меня настроение сегодня, хочется попридираться к мелочам .Вот копаюсь в говнокоде и встретил два куска
При первом же взгляде видно, что куски кода с циклом for очень похожи (с подсветкой в среде это еще более заметно но есть небольшое отличие: в первом случае присутствует "aa != e.Link".
Меня такой код сильно возмущает, но вот тут есть люди, которые готовы с таким мириться.
Интересуют мнения, как правильно переписать такой код?