[CodeJam] Code review, план действий по исправлению
От: Sinix  
Дата: 18.04.16 10:06
Оценка:
Просмотрел код, список будущих исправлений ниже. Замечания приветствуются

UPDATE: all fixed.

1. Memoize<T>
Надо бы сделать кодогенерацию + оставить только одну перегрузку с optional args.
См гадлайны.

2. CollectionsExtensions. Вот тут не надо params?
public static void AddRange<T>([NotNull] this ICollection<T> source, [NotNull] T[] items)


3. EnumerableExtensions.Index() Идея ок, реализация хромает.
IndexedItem не реализует equals/gethashcode/equality operators.
Имя метода — может, что-то типа items.Indexed() ?

4. QueryableExtensions — nameof вместо строк в перегрузках OrderBy()/...

5. Для позаимствованного кода ОБЯЗАТЕЛЕН коммент BASEDON: + url на исходники.
Как минимум для ObjectPools и для файлов в Targeting надо добавить.

6. InterlockedOperations — надо добавить generic update на базе CAS loop,
по аналогии с кодом, что генерит компилятор для подписки событий.

7. Перенёc в соседний топик
Автор: AndrewVK
Дата: 18.04.16
. XNodeExtensions — Required/Optional переименовать в стандартные Get/TryGet/XxxOrDefault.

8. Fn<T> — Identity переименовать в стандартный Self.

В остальном приятно удивлён — код
Отредактировано 19.04.2016 19:34 Sinix . Предыдущая версия . Еще …
Отредактировано 18.04.2016 19:18 Sinix . Предыдущая версия .
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.