ArangoDB + JSON + Vue命名法:如果在各处使用kebab-case,我会遇到什么问题?

时间:2019-01-29 19:37:11

标签: javascript json vue.js arangodb

我是初学者。我正在为自己开发一个使用ArangoDB,Node.js,Javascript和Vue的项目。我正在尝试为我的项目确定术语/样式指南。我相信,对于技术堆栈的每个不同部分,尝试在我的代码库中维护不同的样式会造成混乱。因此,我倾向于在任何地方都使用kebab-case。

例如,在Vue style guide的“好”示例中,MyComponentmy-component的混合使我感到困惑。

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

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

import MyComponent from './MyComponent.vue'

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

在研究这个问题时,我遇到了following statement

  

隐式kebab-case-camel-case转换不再适用,因为引用名称是纯字符串,并且不受必须符合必需的小写kebab-case HTML语法约束

我不明白这是什么意思,直到现在我已经看过一些Vue教程,但直到现在我还没有听说过“隐式的kebab-case-camel-case转换”。几次搜索都未能为我带来关于Vue隐式kebab-case对话的任何明确讨论。

很明显,关于kebab-case和Pascal-case的决定比我理解的要多,在做出决定之前,我需要寻求经验丰富的开发人员的建议。

另一种询问方式是:

  1. 是否有任何与技术相关的问题会阻止我将kebab-casing用于JSON?
  2. 如果我到处都使用kebab-case,是否存在隐式规则(特别是对于Vue项目)会惹上麻烦?

我希望这显然不是基于意见的问题。我想知道的是,如果我在使用ArangoBB,Node.js,Javascript和Vue的项目中尝试在所有地方使用kebab-case,会遇到哪些意外问题?

更新:《 Vue风格指南》说:“ 在所有地方都使用烤肉架是可以接受的。” (但我不清楚在这种情况下“无处不在”的含义。

在进一步搜索中,我在这里找到了一个很好的讨论,似乎与Vue风格指南中的声明不符:HTML case sensitivity workaround · Issue #2308 · vuejs/vue

  

从本质上讲,存在问题是因为javascript和HTML不同   技术并使用不同的命名系统。并使用相同的   两种技术的情况(烤肉串或骆驼)都会使怪异感从   一个地方到另一个地方,但潜在的问题仍然存在。

     

我相信,我们能做的就是画一条线,当前的线非常好:

     
      
  1. html上下文中的烤肉串
  2.   在JavaScript上下文中
  3. camelCase(和PascalCase)。
  4.   
     

IMO,我们应该只支持当前的约定,而不是寻找   为了更好的当然,请使用警告来帮助初学者。

似乎大多数回应都同意这一点。最后的答复是:

  

要提交给内存的一条规则:HTML = kebab-case,JavaScript =   camelCase

     

用HTML表示属性和标记。属性值为JavaScript   使用v-bind时的表达式,因此适用第二条语句。

但是我的问题仍然存在:如果在使用ArangoBB,Node.js,Javascript和Vue的项目中尝试在各处使用kebab-case ,我会遇到哪些意外问题?

0 个答案:

没有答案