Идентификаторы должны иметь правильный суффикс (fxcop)

Я получил эту ошибку для коллекции, которую пишу, но fxcop предупредил меня, чтобы я добавил к ней суффикс collection. Почему?

Никакая коллекция .NET этого не делает, верно? т.е. List<T>, LinkedList<T> и т. д.


person Joan Venge    schedule 10.05.2009    source источник


Ответы (2)


Это одно из правил FxCop, которое я игнорирую практически по той причине, которую вы описываете. также я считаю, что в большинстве случаев это не приносит никакой пользы. Я обычно выключаю его во всех своих проектах.

Вторая причина заключается в том, что если вы следуете правилу, оно дает действительно странные имена классов (особенно в сочетании с Tree).

  • AvlTreeCollection
  • ImmutableAvlTreeCollection
  • HeapCollection
person JaredPar    schedule 10.05.2009

System.Collections.ObjectModel.ObservableCollection<T>
System.Collections.Generic.SynchronizedCollection<T>
System.Collections.Generic.SynchronizedKeyedCollection<K, T>
System.Collections.ObjectModel.ReadOnlyCollection<T>
System.Collections.Specialized.NameObjectCollectionBase.KeysCollection
System.Windows.Forms.ListViewGroupCollection
System.Windows.Forms.ListView.ListViewItemCollection

...среди других.

person Fredrik Mörk    schedule 10.05.2009
comment
Нет, к сожалению, в BCL есть некоторые несоответствия; List и LinkedList, как вы указали, XmlNodeList и ArrayList (что само по себе является своего рода странным именем типа) и множество других, я думаю. Я согласен, что это конкретное правило FxCop может быть не самым ценным. - person Fredrik Mörk; 10.05.2009