问题标签 [camelcasing]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
2 回答
2246 浏览

javascript - 与带下划线的后端同步时,转换为 CamelCase 以在 JavaScript 中使用?

TL / DR:使用带下划线的命名约定服务器端(RoR)和camelCased命名约定客户端(JS)的好方法是什么

像 Ruby on Rails 这样的服务器端编程环境使用下划线变量。按照惯例,JavaScript 使用 camelCased 变量。当从客户端向服务器发送数据时,这是有问题的。

例如,考虑向客户端发送用户信息。数据库中可能有一个名为 num_times_ordered 的属性,但在 JavaScript 中,您通常希望将其称为 numTimesOrdered。

有没有人想出一个优雅的方式来处理这个问题?这里有一些选项,没有一个特别好:

  1. 从服务器获取数据时将数据转换为 camelCase。
  2. 从服务器发送时使用 camelCase
  3. 在您的 Javascript 中使用带下划线的命名约定(尽管您与任何第三方库(如 jQuery)不一致)
  4. 在后端使用 camelCased 命名约定(尽管您与后端的约定不一致)

我倾向于#3,并在我的 JavaScript 中使用下划线。不过,当我使用 camelCased 第三方库时,它看起来会很奇怪。

0 投票
1 回答
1132 浏览

javascript - 如果匈牙利符号大多被贬低,为什么“构造函数的上驼峰与其他一切的下驼峰”如此受欢迎?

至少在 StackOverflow 上似乎是这样,匈牙利符号通常被认为是一件坏事(尽管少数人仍然赞成)。

现在,在过去几个月我一直在进行大部分编码的 JavaScript 世界中,似乎已经接受了一种本质上非常相似的命名约定,但我还没有看到有人反对它,那就是UpperCamelCase命名对象构造函数vslowerCamelCase命名其他所有内容。

所以差异似乎只在表面:

  • 匈牙利符号使用前缀,而 JavaScript 使用大小写。
  • 匈牙利符号可以区分很多东西,而 JavaScript 只能区分“对象构造函数”和“非对象构造函数”。

有些人喜欢说“systems Hungarian”与“applications Hungarian”不同,前者表示类型,后者表示类型未涵盖的内容。在这种情况下,“systems Hungarian”通常仍然被认为是坏的,而“applications Hungarian”可能被认为是好的。

JavaScript 驼峰式大小写约定似乎更像系统匈牙利语,因此在这一点上没有任何优点。

人们反对匈牙利符号的观点似乎仍然适用于 JavaScript 对象构造函数:

  • 编译器无论如何都知道类型。
  • IDE 在这方面要好得多。
  • 当类型改变时它太脆了。
  • 它使代码变得杂乱无章,更难阅读。

那么这个 JavaScript 约定有什么不同呢?它可以在更一般的匈牙利符号不合适的地方使用?

是不是缺少好的 JavaScript IDE?其有限的使用范围是否使它不那么糟糕?是因为动态语言并没有太多的类型吗?因为它不能被过度使用,所以这不是问题吗?

(如果这属于programmers.SE而不是SO,请迁移。)

0 投票
2 回答
38799 浏览

sql - 如何使用 Oracle 将列值转换为 CamelCase?

我需要一种使用 Oracle 10g 将列值转换为 CamelCase 的方法。我更喜欢在我的 select 语句中执行它,但如果我必须使用函数,那也可以。

我不需要支持下划线,只需要空格。

谢谢

0 投票
3 回答
15279 浏览

c# - 如何在 C# 中使用 Pascal 大小写和 Camel 大小写作为缩写词?

一个简短的首字母缩写词就像只有 2 个字符的 ID 或 DB。

当帕斯卡大小写(用于属性或类名称)和骆驼大小写(输入参数,参数)时如何命名这些?

我知道每家公司都有自己的标准,但我正在寻找更普遍接受的标准。

例如当帕斯卡套管:

当骆驼肠衣:

0 投票
2 回答
1887 浏览

mysql - 我们所有的 MySQL 约束都变成了小写。什么会导致这种情况?

我们所做的每件事都有一个驼峰命名约定——从数据库表到对象属性、列、数据库索引和约束。

我们已经在一个新项目上使用这些约定两个月了,一切进展顺利,但昨晚突然之间,我们 6 个数据库中只有一个的所有关系都从驼峰式转换为小写。重要的是要注意只有约束转换 - 索引本身保持驼峰式。

因此,如果我们有一个名为 someColumn 的列和另一个名为 someTable.otherColumn 的列,它来自以下内容:

对此:

什么可能导致这种情况?我们无法重现此问题 - 我们尝试更改随机约束以查看它是否会全部更改,然后我们尝试重新导入结构并且一切正常,从而阻止导入 camelCase。

我们在 OSX 上工作并部署到 CentOS。

编辑:一位开发人员使用不区分大小写的 OSX。他尝试从他自己机器上的导出中重新导入数据库,但仍然没问题,因此:将转储从不区分大小写的机器导入到区分大小写的 CentOS 中并没有破坏事情。重新启动 mysqld 也未能重现此错误。所有强制小写 mysql 设置均已关闭。迄今为止,我们一直无法让它再次发生。

Edit2:请注意,这只发生在我们的 CentOS 开发服务器上 - 使用不区分大小写操作系统的开发人员之前已经从其他区分大小写的系统上导入了他的数据库,并且每次都一切正常。

0 投票
3 回答
934 浏览

emacs - 在 Emacs 中更改 CamelCase 单词的 forward-word/backward-word/kill-word

我需要能够在 Emacs 中导航和编辑骆驼大小写单词的部分内容。功能类似于 Intellij IDEA 中的驼峰。例如,我需要将字符串BlahFooBar中的Blah、FooBar标识为 3 个单独的单词,这样我就可以导航/编辑它们,就像它们是单独的单词一样。

我试过玩语法表

这具有制作lah、ooar单词以及 chars B 和 F 单词分隔符的效果。所以向后导航(和向后杀词)不能按预期工作。

我需要的是基于正则表达式而不是分隔符的单词边界。

0 投票
1 回答
249 浏览

eclipse - Delete next camelcase word segment?

I frequently use the CtrlDelete command to delete the next word.

I was wondering, is there an equivalent keyboard combination in Eclipse to delete the next word in a camelcase word?

0 投票
1 回答
874 浏览

plsql - 骆驼大小写和不区分大小写

我想听听您对在不区分大小写和过程语言(Oracle PL/SQL)中使用 Upper 或 lowerCamelCase 的意见。有些人想在我的工作中使用这种模式,但程序员不喜欢这个想法……Oracle Forms and Reports 不支持自动完成。

我的意见:我认为没有任何理由在不区分大小写的语言中使用 Camel Case...

你怎么看?

0 投票
2 回答
709 浏览

c# - 强制自动 linq to sql 类具有 pascal case 属性?

我的 SQL 数据库有驼峰式的列名。我正在使用带有 C# 的 Linq to SQL。

有没有办法强制在帕斯卡情况下自动生成属性?

驼峰式属性不符合 C# 标准,每次我需要重新创建类时手动执行它很痛苦。

0 投票
3 回答
6980 浏览

javascript - JavaScript:正则表达式 CamelCase 到句子

我发现此示例将 CamelCase 更改为破折号。我已修改代码以将 CamelCase 更改为 Sentencecase,其中包含空格而不是破折号。它工作正常,但不适用于一个单词字母,如“i”和“a”。任何想法如何合并它?

  • thisIsAPain --> 这是一个痛苦

    /li>