Почему Hashtable не является PascalCase?
Я очень стараюсь следовать общим правилам в стилях кодирования. Но когда я смотрю на.NET, я вижу, что некоторые классы не соответствуют правилам PascalCasing. Один из них является Hashtable
а другой, который я помню, Stopwatch
, Я думаю, что есть еще кое-что, что я не помню их.
Есть ли причина оставить правила PascalCasing для этих классов?
3 ответа
Потому что они оба словарные слова.
Вероятно, вам нужен технический словарь для хэш-таблицы, но секундомер - законное слово.
PascalCasing предназначен для случаев, когда вы комбинируете разные слова с именем вашего класса (* и тому подобное), он не связан с лингвистическим происхождением слова.
Это в основном старый код, а не по назначению. Некоторые назвали бы это ошибкой. Imo Секундомер правильно установлен (секундомер против хеш-таблицы, обратите внимание на пустую).
Забавное примечание: javas Hashtable не является PascalCase, в то время как новый HashMap (здесь я уверен, что это была ошибка, как говорит Джош Блох в эффективном java afaik)
Это не "хеш-таблица", а "хеш-таблица" (насколько мне известно), поэтому в этом случае PascalCasing этого слова будет точным. То же самое для "секундомера". Может быть неправильно насчет хэш-таблицы, хотя..