Re[2]: [CodeJam] Code review, план действий по исправлению
От: Sinix  
Дата: 18.04.16 19:14
Оценка:
Здравствуйте, AndrewVK, Вы писали:

S>>Надо бы сделать кодогенерацию

AVK>Там всего 5 вариантов. Шаблон будет сопоставимого размера и несопоставимой мутности. Но если надо расширить до 8 аргументов по аналогии с туплами и action/func, то тут уже лучше генерить.

Ну вот у меня крутится мысля этот шаблон переиспользовать, например, для хелпера для вывода типов выражений, что-то типа
// Expression<Func<int, int, int>>
var expression = ExpressionHelpers.Func((int x, int y) => x + y); // Имя условное

сделать часть шаблона переиспользуемой — 100% пригодится.

S>> + оставить только одну перегрузку с optional args.

S>> См гадлайны.

AVK>Мне кажется это не совсем наш случай. У нас пока никакой backward compatibility нет в принципе.

Ну так после релиза будет

Иначе начнётся dll hell, когда одна библиотека зависит от CodeJam 1.0.0, вторая — от 1.1.3 и обе версии бинарно несовместимы.



S>>2. CollectionsExtensions. Вот тут не надо params?

AVK>ИМХО надо.
Ок, добавляю.


S>>3. EnumerableExtensions.Index() Идея ок, реализация хромает.

S>>IndexedItem не реализует equals/gethashcode/equality operators.
AVK>А оно надо?
Я это узнал сложным путём — сделал Distinct по похожей структуре. Угу, результат был немного предсказуем



S>>Имя метода — может, что-то типа items.Indexed() ?

AVK>FDG
Ну, я на своём варианте не настаиваю Если вдруг у кого-то появится предложение получше .Index() — поменяем.



S>>6. InterlockedOperations — надо добавить generic update на базе CAS loop,

AVK>+1
Тож добавляю. Как добавлю — попрошу посмотреть.


S>>7. XNodeExtensions — Required/Optional переименовать в стандартные Get/TryGet/XxxOrDefault.

AVK>Это, имхо, не совсем тот случай, надо подумать.
Понял, перенёc вопрос в соседний топик
Автор: AndrewVK
Дата: 18.04.16
.
Отредактировано 18.04.2016 19:22 Sinix . Предыдущая версия . Еще …
Отредактировано 18.04.2016 19:17 Sinix . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.