Каково значение стартовых констант с 'k'?

Вы можете установить json-server, а затем просто использовать ложные данные из него.

npm install -g json-server

Создайте файл db.json с некоторыми данными

{
  "posts": [
    { "id": 1, "title": "json-server", "author": "typicode" }
  ],
  "comments": [
    { "id": 1, "body": "some comment", "postId": 1 }
  ],
  "profile": { "name": "typicode" }
}

Запустите сервер JSON

json-server --watch db.json

Теперь, если вы перейдете на http: / / localhost: 3000 / posts / 1 , вы получите

{ "id": 1, "title": "json-server", "author": "typicode" }

Ссылка: https://github.com/typicode/json-server

21
задан typeoneerror 1 February 2009 в 02:12
поделиться

4 ответа

Это было упомянуто однажды в ТАК вопрос, Нижний регистр "k" в Какао.

Это - общая нотация программирования, не характерная для Objective C (т.е. Венгерская запись), и "k" обозначает "постоянный".

При рассмотрении кэша Google инструкций Google для Objective C, Вы видите, что они раньше включали его в их styleguide:

Постоянные имена (#defines, перечисления, локальные переменные константы, и т.д.) должны запуститься с нижнего регистра k и затем использовать смешанный случай для разграничивания слов, т.е. kInvalidHandle, kWritePerm.

Хотя боль для записи они абсолютно жизненно важны для хранения нашего читаемого кода. Следующие правила описывают то, что необходимо прокомментировать и где. Но помните: в то время как комментарии очень важны, лучший код самодокументирует. Давание разумных имен к типам и переменным намного лучше, чем использование неясных имен и затем попытка объяснить их через комментарии.

Но это было с тех пор удалено в активной версии документа. Нужно отметить, что это идет вразрез с Официальными Инструкциями по Кодированию для Какао от Apple.

24
ответ дан 29 November 2019 в 21:12
поделиться

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

'k'конвенция используется (но не универсально) для немакро-констант в C/C++ и вероятно других языках. Я подозреваю'k'используется потому что'c'уже часто используется - любой для обозначения имени класса (как в CString) или что переменная является счетчиком.

3
ответ дан 29 November 2019 в 21:12
поделиться

Я думаю, что использование продвижения "k" состоит в том, потому что все языки объявляют его как твердый согласный, и таким образом оно напоминает людям английского произношения "постоянных" :-)

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

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

MY_CONSTANT вполне прилично согласован как являющийся для макрооснованных констант. Иногда важно знать, что константа определяется макросом, например, который подразумевает, что это основано на литералах и таким образом из ограниченного диапазона типов данных, а также определяемый на глобальном уровне, и таким образом (как Michael Burr, на которого указывают), переопределяет любые локальные namespaced константы.

3
ответ дан 29 November 2019 в 21:12
поделиться

kMyConstant вещь возвращается к очень старым дням программирования Mac (80-е/90-е, будучи "очень старой"). Это была стандартная используемая Apple и многие программисты Mac, также используемые; это заняло место определений MY_CONSTANT-типа.

Я вообразил бы авторов, которых Вы читаете, был Mac программисты Pascal/C для старой Панели инструментов Mac до того, чтобы быть программисты Cocoa / NeXT. Библиотеки Mac раньше назывались "Панелью инструментов" - это было набором API и библиотек, которые превращались в Углерод со временем.

Я все еще иногда использую kMyConstant; сводит моих старых школьных коллег Unix-программиста с ума.:-)

3
ответ дан 29 November 2019 в 21:12
поделиться
Другие вопросы по тегам:

Похожие вопросы: