Стиль C # предлагает использовать CamelCase в идентификаторах для разделения слов. Традиция Лиспа предлагает использовать вместо него тире.
Существовал ли когда-либо язык программирования, где использование пробелов в идентификаторах было не только разрешено, но и широко использовалось при использовании многословных идентификаторов?
В некоторых реализациях Scheme могут быть идентификаторы с пробелами , но это не очень распространенная практика. Вот пример:
Petite Chez Scheme Version 8.4
Copyright (c) 1985-2011 Cadence Research Systems
> (define |hey there| 100)
> (define |x y z| 200)
> (list |hey there| |x y z|)
(100 200)
alert({'some Prop':'bob'}['some Prop']);
но если эти имена строковых свойств не проходят проверку идентификатора / метки, их нельзя использовать с точечной нотацией.
define_singleton_method "sjdlkfjsljk#$SDEF SDFSDF@# @#$!!~" do; puts 42; end;
и тогда вы можете: send "sjdlkfjsljk#$SDEF SDFSDF@# @#$!!~"
но это не распространено.
bobs_utilities :: string_functions :: scramble
. Это имя, и мы можем включить произвольные пробелы, если захотим, потому что это синтаксис, а не простой токен. Имена с несколькими компонентами хотят быть абстрактным синтаксисом; Чистка информации о пространстве имен в едином идентификаторе - это, по сути, хак «искажение имени» для представления структуры внутри текста, где вам не хватает механизма для представления структуры.