标签: camelcasing

为什么我在Zend MVC中的骆驼行为试图调用非camelcased方法名称?

动作名称的Zend标准是camelCase,但是如果我用驼峰套管创建一个动作,则请求失败,因为它试图在没有驼峰套管的情况下调用方法(动作)!

例:

我在模块"abc"中有一个名为"changeEmail"的动作.方法是"changeEmailAction"(由Zend Tool创建).如果我尝试访问/ abc/changeEmail,我会收到一条错误,上面写着"消息:操作","changeemail"不存在,并且没有被困在__call()中.

我能够使其工作的唯一方法是仅创建全部小写的动作名称.这会导致可读性差,并且与建议的命名约定相反.我错过了什么?

php zend-framework camelcasing

5
推荐指数
1
解决办法
4813
查看次数

小写和大写文件名

我在localhost上使用了codeigniter框架,我在windows上使用camel case方法(UserModel,DbModel)命名了我的一些模型和控制器.当我将文件上传到服务器(在linux上运行)时,脚本试图加载所有全部小写的文件,所以我得到404错误,因为脚本正在寻找usermodel而不是UserModel,任何方式来解决这个问题?

php camelcasing codeigniter

5
推荐指数
1
解决办法
3617
查看次数

小驼峰大小写可变大小写约定(例如 thisVariable)有什么意义?

我希望这不会因为太宽泛而被关闭。我知道这取决于个人喜好,但所有大小写约定都有一个起源,我想知道这个约定从何而来,以及人们为什么使用它的合乎逻辑的解释。

这就是你要去的地方var empName;。我称之为低骆驼,虽然它在技术上可能被称为别的东西。就个人而言,我喜欢var EmpName。我称那是合适的骆驼,我喜欢它。

当我第一次开始编程时,我从较低的骆驼约定开始。我不知道为什么。我只是按照所有老家伙设置的示例进行操作。变量和函数 (VB) 得到了较低的骆驼,而 subs 和属性得到了适当的骆驼。然后,在我最终牢牢掌握了编程本身之后,我变得足够自在,可以质疑我导师的策略。对我而言,使用小驼峰没有逻辑意义,因为它不一致,特别是如果您有一个变量由一个单词组成,但最终全部为小写。也没有适当的验证机制来确保您正确使用下骆驼和上骆驼,所以我问为什么不对所有事情都使用合适的骆驼。这是一致的,因为所有变量名称都经过适当的骆驼化。

深入研究后发现,当它被提出质疑时,这对许多程序员来说是一个非常敏感的问题。他们通常会回答:“嗯,这只是个人喜好”或“我就是这么学的”。在进一步刺激下,当我试图找到他们使用低级骆驼背后的逻辑原因时,它通常会引起人们的一种教条式反应。

所以有人想在适当的骆驼品种的外壳背后摆脱一点历史和逻辑吗?

camelcasing naming-conventions

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

上下骆驼案

我正在尝试为上下驼峰式保护套设计一个正则表达式。

这是我尝试过的

(([A-Z][a-z0-9]*){2,}|([a-z][A-Z0-9]*){2,})
Run Code Online (Sandbox Code Playgroud)

试图与此匹配上驼峰式大小写-([AZ] [a-z0-9] ){2,},但它也与其他组合匹配。第二部分也是如此-([az] [A-Z0-9]){2,})

regex camelcasing

5
推荐指数
1
解决办法
5616
查看次数

避免使用CamelCasePropertyNamesContractResolver获取特定方法

我有web api控制器,我在WebApiConfig文件中使用这种配置方法,用于所有控制器的驼峰套管我的结果.

var json = GlobalConfiguration.Configuration.Formatters.JsonFormatter;
json.SerializerSettings.ContractResolver = new CamelCasePropertyNamesContractResolver();
Run Code Online (Sandbox Code Playgroud)

现在我有一个控制器的方法,它给Angularjs翻译提供者提供数据,所有翻译字符串都不在我的html中的camelcase中,这就是为什么我需要该方法的结果不在CamelCase中.如何避免这种特定控制器方法的骆驼套管序列化行为.

.net c# camelcasing json.net asp.net-web-api

5
推荐指数
1
解决办法
3527
查看次数

判断字符串是否为驼峰命名法

我试图让 PHP_CodeSniffer 检查类名中的驼峰命名法,但在我看来,驼峰命名法检查是不可能的(没有字典,包括技术单词)。

我已经在互联网上搜索过,但到目前为止,我看到的唯一选择是字符串是否有一些通用的分隔符来爆炸 - 即下划线、单词之间的空格等。

即使这也没有什么用处,因为只有当名称准确/始终在每个单词之间包含分隔符时,检查才能准确。
“检查”的目的是确定名称的格式是否不正确,这可能包括不正确的定界。

此外,PHP_CodeSniffer 上的资源要么很少见,要么非常基础和技术性,只有作者/开发人员才能理解。

当前标准嗅探检查

我在一些当前的 Sniffs(即 Squiz 和 PEAR 标准)中找到了这段代码:

if (PHP_CodeSniffer::isCamelCaps($functionName, false, true, false) === false) 
Run Code Online (Sandbox Code Playgroud)

但是,我查看了 PHP_CodeSniffer 核心代码,该函数仅执行以下操作:

// Check the first character first.
// Check that the name only contains legal characters.
// Check that there are not two capital letters next to each other.
// The character is a number, so it cant be a capital.
Run Code Online (Sandbox Code Playgroud)

这些基本检查总比没有好,尽管可以说对于其预期目的来说毫无用处,因为它们根本不检查驼峰命名法。

问题

Sniff(或 PHP 脚本)如何知道在给定字符串中检查哪些“单词”以识别该字符串是否为 100% 驼峰命名法?


编辑

例子 …

php validation camelcasing string-formatting phpcodesniffer

5
推荐指数
1
解决办法
6003
查看次数

Django REST Framework中的camelCase POST数据

我看到有一个名为djangorestframework-camel-case的项目,允许在Django REST序列化程序中使用带有下划线字段的JavaScript-ish camelCase.所以,基本上,我可以发送:

{
    "camelCase": "foo"
}
Run Code Online (Sandbox Code Playgroud)

并使用以下Serializer接收它:

class MySerializer(serializers.Serializer):
    session_id = serializers.CharField()
Run Code Online (Sandbox Code Playgroud)

是否存在类似POST数据的内容?所以我可以camelCase=foo通过POST 发送并将其接收到我的序列化器中的underscore_case字段?

我尝试基于FormParser实现自己的解析器:

class CamelCaseFormParser(FormParser):
    media_type = 'application/x-www-form-urlencoded'

    def __init__(self):
        print("initialized")

    def parse(self, stream, media_type=None, parser_context=None):
        print("parse")
        ...
Run Code Online (Sandbox Code Playgroud)

并且,在将其添加到DEFAULT_PARSER_CLASSESsettings.py中之后,initialized实际打印时,parse则不是.所以看来,在POST数据的情况下,application/x-www-form-urlencoded根本不使用解析器.

由于Serializers的使用方式如下:

Serializer(data=request.data)
Run Code Online (Sandbox Code Playgroud)

我正在考虑继承Serializer并data在进一步处理之前进行修改,甚至在创建Serializer之前修改它.但我要求的是一种更方便的方法,适用于所有的Serializers,而无需对它们进行子类化.

python django rest camelcasing django-rest-framework

5
推荐指数
1
解决办法
1740
查看次数

使用 Python JSON 序列化类并更改属性大小写

我想创建一个类的 JSON 表示形式,并自动将属性名称从 更改snake_caselowerCamelCase,因为我想遵守 Python 中的 PEP8 以及 JavaScript 命名约定(也许更重要的是,我的后端与用户沟通lowerCamelCase)。

我更喜欢使用标准json模块,但我并不反对使用另一个开源库(例如jsonpickle可能会解决我的问题?)。

>>> class HardwareProfile:
...     def __init__(self, vm_size):
...             self.vm_size = vm_size
>>> hp = HardwareProfile('Large')
>>> hp.vm_size
'Large'
### ### What I want ### ###
>>> magicjson.dumps(hp)
'{"vmSize": "Large"}'
### ### What I have so far... ### ###
>>> json.dumps(hp, default=lambda o: o.__dict__)
'{"vm_size": "Large"}'
Run Code Online (Sandbox Code Playgroud)

python serialization json camelcasing

5
推荐指数
1
解决办法
2924
查看次数

如何使用 clang-format 配置命名约定?

我的团队有兴趣添加一个工具来强制执行 C++ 的样式指南。我们研究过的两个最好的选择是clang-tidyclang-format

clang-format 似乎可以满足我们几乎所有的需求,但是我无法确定的一件事是是否有一种方法可以使用 clang-format 配置命名约定。这可以通过 clang-tidy 使用readability-identifier-naming来完成。

clang-format 中有类似的功能吗?

c++ camelcasing naming-conventions clang-format clang-tidy

5
推荐指数
0
解决办法
3873
查看次数

匹配Camel和Pascal Case的正则表达式

我即将为一种语言编写解析器,该语言应该具有关于类型,变量等命名的严格语法规则.例如,所有类必须是PascalCase,并且所有变量/参数名称和其他标识符必须是camelCase.

例如HTMLParser,不允许,必须命名HtmlParser.有关正则表达式的任何想法可以匹配PascalCase,但没有两个大写字母吗?

regex parsing camelcasing pascalcasing

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