Я новичок.Я работаю над проектом для себя, который использует 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.Несколько поисков не привели к какому-либо явному обсуждению неявного разговора Вью в кебаб-кейсе для меня.
Очевидно, что решение по поводу кебаб-кейса и Паскаля - это нечто большее, чем я понимаю, и мне нужно искатьсовет от опытных разработчиков, прежде чем я приму решение.
Еще один способ задать вопрос:
- Есть ли какие-либо проблемы, связанные с технологией, которые не позволят мне использовать кебаб-корпусдля JSON?
- Существуют ли неявные правила (особенно для проектов Vue), которые могут вызвать у меня проблемы, если я везде использую kebab-case?
НадеюсьОчевидно, что это не вопрос, основанный на мнении.Я хотел бы знать, с какими неожиданными проблемами я могу столкнуться, если я попытаюсь использовать kebab-case везде в проекте, который использует ArangoBB, Node.js, Javascript и Vue?
Обновление: Руководство по стилю Vueговорит: « использование кебаба в любом случае также приемлемо ».(Но мне не ясно, что означает «везде» в этом контексте.
При дальнейшем поиске я нашел хорошее обсуждение, которое, похоже, не согласуется с этим утверждением из руководства по стилю Vue: HTMLобходной путь чувствительности к регистру · Проблема № 2308 · vuejs / vue
По существу, проблема существует, потому что javascript и HTML - это разные технологии, использующие разные системы именования и использующие один и тот же случай (кебаб или верблюд).в обеих технологиях будет происходить смещение странностей из одного места в другое, но основная проблема будет сохраняться.
Я считаю, что лучшее, что мы можем сделать, это нарисовать линию, и текущая линия очень хороша:
- регистр кебаба в html-контексте
- camelCase (и PascalCase) в контексте javascript.
IMO, мы должны просто поддерживать текущие соглашения вместо того, чтобы искать лучший.Конечно, используйте предупреждение, чтобы помочь новичкам.
Кажется, большинство ответов согласились с этим. Последний ответ был:
Одно правило для фиксации в памяти: HTML = кебаб-кейс, JavaScript = camelCase
Под HTML я подразумеваю атрибуты и теги.Значения атрибута - это выражения JavaScript, когда вы используете v-bind, поэтому применяется второе утверждение.
Но остается вопрос: с какими неожиданными проблемами я могу столкнуться, если я попытаюсь использовать kebab-caseвезде в проекте, который использует ArangoBB, Node.js, Javascript и Vue?