标签: camelcasing

为什么True/False在Python中大写?

所有成员都是骆驼案,对吧?为什么是真/假但不是真/假,哪个更放松?

python camelcasing

55
推荐指数
3
解决办法
2万
查看次数

当编程语言使用camelCase时,PostgreSQL标识符中的下划线或camelCase?

这困扰了我一段时间,我无法找到一个感觉正确的解决方案......

给定一个OO语言,其中对象属性的通常命名约定是camelCased,以及像这样的示例对象:

{
    id: 667,
    firstName: "Vladimir",
    lastName: "Horowitz",
    canPlayPiano: true
}
Run Code Online (Sandbox Code Playgroud)

我应该如何在PostgreSQL表中建模这个结构?

有三个主要选择:

  1. 未加引号的camelCase列名
  2. 引用camelCase列名
  3. 带下划线的未加引号(小写)名称

他们每个人都有自己的缺点:

  1. 不带引号的标识符会自动折叠为小写.这意味着您可以使用canPlayPiano列创建表,但混合大小写永远不会到达数据库.当您检查表时,该列将始终显示为canplaypiano- 在psql中,pgadmin,解释结果,错误消息,所有内容.

  2. 带引号的标识符保留了它们的大小写,但是一旦你创建它们,你将始终必须引用它们.IOW,如果您创建一个包含"canPlayPiano"列的表,SELECT canPlayPiano ...则会失败.这会给所有SQL语句增加许多不必要的噪音.

  3. 带下划线的小写名称是明确的,但它们不能很好地映射到应用程序语言正在使用的名称.您必须记住为storage(can_play_piano)和code(canPlayPiano)使用不同的名称.它还可以防止某些类型的代码自动化,其中属性和数据库列需要命名相同.

所以我陷入了岩石和坚硬的地方(和一块大石头;有三种选择).无论我做什么,有些部分会感到尴尬.在过去的10年左右,我一直在使用选项3,但我一直希望有更好的解决方案.

我很感激您的任何建议.

PS:我确实意识到案例折叠和引号的需求来自于SQL标准,或者更确切地说是PostgreSQL对标准的改编.我知道它是如何工作的; 我对有关最佳实践的建议比对PG如何处理标识符的解释更感兴趣.

oop postgresql database-design camelcasing naming-conventions

50
推荐指数
2
解决办法
2万
查看次数

在 eslint 中禁用骆驼大小写规则的检查

我有一个包含多个 eslint 规则违规的大型 JavaScript 文件。我正在尝试禁用它们并一次解决一个问题。下面的代码表明我可以毫无问题地禁用它们,但不是关于驼峰命名规则的规则,也可能是其他个别规则。我使用的方法应该根据 eslint 文档工作,但我的解释肯定有缺陷。

代码很短,并没有消除有关驼峰式大小写的错误。

/* eslint-disable  /* eslint-disable//  works but gets everything.
`/* eslint (camelcase) : 0 */
    /* eslint camelcase : ["error", {ignoreDestructuring:true}] */
Run Code Online (Sandbox Code Playgroud)

const Lesson_1 = {title:'The Home Row Keys.'},'lesson': 'jjj fff jjj fff'}

只是得到相同的驼峰错误而不做任何更改。eslint 文档说只是禁用整个规则,但没有指定上面列出的方法。

camelcasing constants eslint disable

47
推荐指数
4
解决办法
4万
查看次数

如何在python中拆分CamelCase

我想要实现的是这样的:

>>> camel_case_split("CamelCaseXYZ")
['Camel', 'Case', 'XYZ']
>>> camel_case_split("XYZCamelCase")
['XYZ', 'Camel', 'Case']
Run Code Online (Sandbox Code Playgroud)

所以我搜索并找到了这个完美的正则表达式:

(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])
Run Code Online (Sandbox Code Playgroud)

作为我尝试的下一个逻辑步骤:

>>> re.split("(?<=[a-z])(?=[A-Z])|(?<=[A-Z])(?=[A-Z][a-z])", "CamelCaseXYZ")
['CamelCaseXYZ']
Run Code Online (Sandbox Code Playgroud)

为什么这不起作用,如何从python中的链接问题获得结果?

编辑:解决方案摘要

我用一些测试用例测试了所有提供的解决方案:

string:                 ''
AplusKminus:            ['']
casimir_et_hippolyte:   []
two_hundred_success:    []
kalefranz:              string index out of range # with modification: either [] or ['']

string:                 ' '
AplusKminus:            [' ']
casimir_et_hippolyte:   []
two_hundred_success:    [' ']
kalefranz:              [' ']

string:                 'lower'
all algorithms:         ['lower']

string:                 'UPPER'
all algorithms:         ['UPPER']

string:                 'Initial'
all algorithms:         ['Initial']

string:                 'dromedaryCase'
AplusKminus:            ['dromedary', 'Case']
casimir_et_hippolyte:   ['dromedary', …
Run Code Online (Sandbox Code Playgroud)

python regex camelcasing

43
推荐指数
6
解决办法
2万
查看次数

有哪些不同的案例?

我对不同类型的标识符案例感兴趣,以及人们称之为什么.您是否知道此列表或其他替代名称的任何添加内容?

  • myIdentifier:Camel case(例如java变量名)
  • MyIdentifier:资本驼峰案例(例如在java类名称中)
  • my_identifier:Snake case(例如python变量名)
  • my-identifier:烤肉串案例(例如球拍名称)
  • myidentifier:扁平案例(例如java包名称)
  • MY_IDENTIFIER:大写(例如以C常量名称)

naming camelcasing case

41
推荐指数
4
解决办法
2万
查看次数

将字符串转换为来自TitleCase C#的camelCase

我有一个字符串,我转换为TextInfo.ToTitleCase并删除下划线并将字符串连接在一起.现在我需要将字符串中的第一个字符和第一个字符更改为小写字母,由于某种原因,我无法弄清楚如何完成它.在此先感谢您的帮助.

class Program
{
    static void Main(string[] args)
    {
        string functionName = "zebulans_nightmare";
        TextInfo txtInfo = new CultureInfo("en-us", false).TextInfo;
        functionName = txtInfo.ToTitleCase(functionName).Replace('_', ' ').Replace(" ", String.Empty);
        Console.Out.WriteLine(functionName);
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

结果:ZebulansNightmare

期望的结果:zebulansNightmare

更新:

class Program
{
    static void Main(string[] args)
    {
        string functionName = "zebulans_nightmare";
        TextInfo txtInfo = new CultureInfo("en-us", false).TextInfo;
        functionName = txtInfo.ToTitleCase(functionName).Replace("_", string.Empty).Replace(" ", string.Empty);
        functionName = $"{functionName.First().ToString().ToLowerInvariant()}{functionName.Substring(1)}";
        Console.Out.WriteLine(functionName);
        Console.ReadLine();
    }
}
Run Code Online (Sandbox Code Playgroud)

产生所需的输出

c# title-case camelcasing tolower

38
推荐指数
7
解决办法
5万
查看次数

大写缩写的命名约定

是否应该调用返回XML流的方法

public Stream getXmlStream();
Run Code Online (Sandbox Code Playgroud)

或者相反

public Stream getXMLStream();
Run Code Online (Sandbox Code Playgroud)

你对此有何看法?什么是最佳做法?

java camelcasing naming-conventions abbreviation uppercase

37
推荐指数
4
解决办法
1万
查看次数

缩略语Camel Back

我经常看到Java类名称

XmlReader
Run Code Online (Sandbox Code Playgroud)

代替

XMLReader
Run Code Online (Sandbox Code Playgroud)

我的直觉是完全是大写的缩略词,但显然很多人都有不同的看法.或许这只是因为许多代码生成器在使用首字母缩略词时遇到了麻烦......

所以我想听听民意.如何将包含首字母缩略词的类名称大写?

java camelcasing naming-conventions

36
推荐指数
2
解决办法
8484
查看次数

Python类文件名是否也应该是camelCased?

我知道Python中的类通常使用camelCase.

如果文件只包含类,那么包含该类的文件也是camelCase也是常规约定吗?

例如,是否应该将类className存储在?className.py而不是class_name.py

python filenames camelcasing naming-conventions

33
推荐指数
5
解决办法
2万
查看次数

带有大写字母的CamelCased单词的正则表达式

如何在带正则表达式的文档中找到所有CamelCased单词?我只关心领先的上骆驼案(即第一个字母大写的骆驼套话).

regex search camelcasing pascalcasing

31
推荐指数
4
解决办法
3万
查看次数