Re: [CodeJam] Code review, план действий по исправлению
От: AndrewVK Россия http://blogs.rsdn.org/avk
Дата: 18.04.16 18:17
Оценка: 2 (1)
Здравствуйте, Sinix, Вы писали:

S>1. Memoize<T>

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

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

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

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

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

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

S>
S>public static void AddRange<T>([NotNull] this ICollection<T> source, [NotNull] T[] items)
S>


ИМХО надо.

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

S>IndexedItem не реализует equals/gethashcode/equality operators.

А оно надо?

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


Because methods are the means of taking action, the design guidelines require that method names be verbs or verb phrases. Following this guideline also serves to distinguish method names from property and type names, which are noun or adjective phrases.

FDG

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


Поправил

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

S>по аналогии с кодом, что генерит компилятор для подписки событий.

+1

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


Это, имхо, не совсем тот случай, надо подумать.
... << RSDN@Home 1.0.0 alpha 5 rev. 0 on Windows 8 6.2.9200.0>>
AVK Blog
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.