Почему Hashtable не является PascalCase?

Я очень стараюсь следовать общим правилам в стилях кодирования. Но когда я смотрю на.NET, я вижу, что некоторые классы не соответствуют правилам PascalCasing. Один из них является Hashtable а другой, который я помню, Stopwatch, Я думаю, что есть еще кое-что, что я не помню их.

Есть ли причина оставить правила PascalCasing для этих классов?

3 ответа

Решение

Потому что они оба словарные слова.

Вероятно, вам нужен технический словарь для хэш-таблицы, но секундомер - законное слово.
PascalCasing предназначен для случаев, когда вы комбинируете разные слова с именем вашего класса (* и тому подобное), он не связан с лингвистическим происхождением слова.

Это в основном старый код, а не по назначению. Некоторые назвали бы это ошибкой. Imo Секундомер правильно установлен (секундомер против хеш-таблицы, обратите внимание на пустую).

Забавное примечание: javas Hashtable не является PascalCase, в то время как новый HashMap (здесь я уверен, что это была ошибка, как говорит Джош Блох в эффективном java afaik)

Это не "хеш-таблица", а "хеш-таблица" (насколько мне известно), поэтому в этом случае PascalCasing этого слова будет точным. То же самое для "секундомера". Может быть неправильно насчет хэш-таблицы, хотя..

Другие вопросы по тегам