Подтвердить что ты не робот

Откуда берется префикс k для констант?

Это довольно распространенная практика, когда константы имеют префикс k (например, k_pi). Но что означает k?

Это просто означает, что c уже означал char?

4b9b3361

Ответ 1

Я этого не видел, но, возможно, он исходит из определенных языков (в частности, германских), написание слова constant - konstant.

Ответ 2

Это историческая странность, по-прежнему обычная практика среди команд, которые любят слепо применять стандарты кодирования, которые они не понимают.

Долгое время большинство коммерческих языков программирования были слабо типизированы; автоматический контроль типов, который мы считаем само собой разумеющимся, по-прежнему в основном является академической темой. Это означало, что было легко написать код с ошибками категории; он будет компилироваться и запускаться, но идти не так, как это было трудно диагностировать. Чтобы уменьшить эти ошибки, глава Simonyi предположил, что вы начинаете каждое имя переменной с помощью тега, чтобы указать его (концептуальный) тип, что упрощает определение, когда они были неправильно использованы. Поскольку он был венгром, практика стала известна как "венгерская нотация".

Некоторое время спустя, когда типизированные языки (особенно C) стали более популярными, некоторые идиоты услышали, что это хорошая идея, но не понимали ее цели. Они предложили добавить избыточные теги к каждой переменной, чтобы указать свой объявленный тип. Единственное их использование - упростить проверку типа переменной; если кто-то не изменил тип и не забыл обновить тег, и в этом случае они активно вредны.

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

"c" был тегом для типа "char", поэтому его также нельзя было использовать для "const"; поэтому выбрано "k", так как первая буква "константа" на немецком языке и широко используется для констант в математике.

Ответ 3

Не используйте венгерскую нотацию. Если вы хотите, чтобы константы выделялись, сделайте все заглавные буквы.

В качестве побочного примечания: в Стандартах кодирования Google есть много вещей, которые являются плохой практикой (с точки зрения читаемости кода). Это то, что происходит, когда вы разрабатываете стандарт кодирования комитетом.

Ответ 4

Я считаю, что математическое соглашение было прецедентом. k используется в математике все время как некоторая константа.

Ответ 5

Это означает, что значение k-onstant.

Ответ 6

K означает константу, словосочетание на константе. Это относится к стилям кодирования.

Это просто вопрос предпочтения, некоторые люди и проекты используют их, что означает, что они также охватывают венгерскую нотацию, многие этого не делают. Это не так важно.

Если вы не знаете, что может означать префикс или стиль, всегда проверяйте, имеет ли проект ссылку на стиль кодирования и читайте это.

Ответ 7

Это соглашение, возможно, из математики. Но есть и другие предложения для константы, например, Керниган и Ричи в своей книге "Язык C" предлагают писать константы с заглавными буквами (например, #define MAX 55).