ArangoDB + JSON + Vue номенклатура: с какими проблемами я мог бы столкнуться, если бы я везде использовал кебаб-кейс? - PullRequest
0 голосов
/ 29 января 2019

Я новичок.Я работаю над проектом для себя, который использует ArangoDB, Node.js, Javascript и Vue.Я пытаюсь выбрать номенклатуру / руководство по стилю для моего проекта.Я полагаю, что будет сложно сбить с толку разные стили в моей кодовой базе для каждой отдельной части технологического стека.Поэтому я склонен везде использовать кебаб-кейс.

Например, меня смущает сочетание MyComponent и my-component в «хорошем» примере из руководства по стилю Vue .

Vue.component('MyComponent', {
  // ...
})

Vue.component('my-component', {
  // ...
})

import MyComponent from './MyComponent.vue'

export default {
  name: 'MyComponent',
  // ...
}

Исследуя этот вопрос, я натолкнулся на следующее утверждение :

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

Я не понимаю, что это значит, и до сих порЯ не слышал о «неявном преобразовании кебаб-кейс-верблюд», хотя смотрел пару уроков по Vue.Несколько поисков не привели к какому-либо явному обсуждению неявного разговора Вью в кебаб-кейсе для меня.

Очевидно, что решение по поводу кебаб-кейса и Паскаля - это нечто большее, чем я понимаю, и мне нужно искатьсовет от опытных разработчиков, прежде чем я приму решение.

Еще один способ задать вопрос:

  1. Есть ли какие-либо проблемы, связанные с технологией, которые не позволят мне использовать кебаб-корпусдля JSON?
  2. Существуют ли неявные правила (особенно для проектов Vue), которые могут вызвать у меня проблемы, если я везде использую kebab-case?

НадеюсьОчевидно, что это не вопрос, основанный на мнении.Я хотел бы знать, с какими неожиданными проблемами я могу столкнуться, если я попытаюсь использовать kebab-case везде в проекте, который использует ArangoBB, Node.js, Javascript и Vue?

Обновление: Руководство по стилю Vueговорит: « использование кебаба в любом случае также приемлемо ».(Но мне не ясно, что означает «везде» в этом контексте.

При дальнейшем поиске я нашел хорошее обсуждение, которое, похоже, не согласуется с этим утверждением из руководства по стилю Vue: HTMLобходной путь чувствительности к регистру · Проблема № 2308 · vuejs / vue

По существу, проблема существует, потому что javascript и HTML - это разные технологии, использующие разные системы именования и использующие один и тот же случай (кебаб или верблюд).в обеих технологиях будет происходить смещение странностей из одного места в другое, но основная проблема будет сохраняться.

Я считаю, что лучшее, что мы можем сделать, это нарисовать линию, и текущая линия очень хороша:

  1. регистр кебаба в html-контексте
  2. camelCase (и PascalCase) в контексте javascript.

IMO, мы должны просто поддерживать текущие соглашения вместо того, чтобы искать лучший.Конечно, используйте предупреждение, чтобы помочь новичкам.

Кажется, большинство ответов согласились с этим. Последний ответ был:

Одно правило для фиксации в памяти: HTML = кебаб-кейс, JavaScript = camelCase

Под HTML я подразумеваю атрибуты и теги.Значения атрибута - это выражения JavaScript, когда вы используете v-bind, поэтому применяется второе утверждение.

Но остается вопрос: с какими неожиданными проблемами я могу столкнуться, если я попытаюсь использовать kebab-caseвезде в проекте, который использует ArangoBB, Node.js, Javascript и Vue?

...