请问一个新设计的程序语言,是选择 camelCase 好,还是先择 snake_case 好?

查看 210|回复 13
作者:xieyuheng   
大家可能要笑了,这也算问题?
但是其实我是很严肃地在考虑这个问题的。
因为尽管在写代码的时候,用户可以做出选择,
但在语言的文档和标准库中,还是要选择一种命名规范的。
而做这种选择对我来说是很艰难的。
我说的 “新设计的程序语言” 具体是这个: https://github.com/cicada-lang/inet
我刚刚用一个 commit 把 snake_case 改成了 camelCase:
https://github.com/cicada-lang/inet/commit/7625a8ad5f87da1ab9c4fd231fc8142ca8900d79
但是我不确定这样做是 “正确的”。
我能想到的,选择 camelCase 的理由:
( 1 )语言已经选择使用 BigCamelCase 作为类型的命名规则了,比如 `DiffList`,
此时如何想要一个变量,直接在这个类型名字前面加上变量的前缀就好了,比如 `emptyDiffList`,
如果用 snake_case ,就需要编辑类型名,而写成 `empty_diff_list`。
( 2 )这个语言目前是用 JavaScript/TypeScript 实现的,而 JavaScript 用的是 camelCase 。
并且未来想要用 Zig 再实现一遍,而 Zig 用的也是 camelCase 。
我能想到的,选择 snake_case 的理由:
( 1 ) snake_case 我个人认为,确实好读一些。
希望大家能给出一些建议。

snake_case, camelcase, 语言, zig

xxfye   
我个人倾向 snake_case 。
因为有些时候用 camelCase 比较蛋疼,getId ? getID ? getid ?
不过这些都是取舍问题,统一就好。
wangkun025   
我喜欢后者。因为我用 ruby
des   
个人倾向于 snake_case
xieyuheng
OP
  
@xxfye 对,camelCase 遇到本身就是大写字母的地方,就有很大歧义。比如 URL JSON ID 之类的。
xieyuheng
OP
  
@wangkun025 我本来也是 snake_case ,我现在也觉得 snake_case 比 camelCase 更易读一点点。
但是作为前端程序员,写了太多太多 JavaScript/TypeScript 了,你懂的。。。
leonshaw   
缝合一下,下划线分词同时保留原始大小写。URL_encode, get_ID, is_iOS
usedTo404   
看看 C#的风格,很满足我对微软的想象
liuguang   
rust 都用小写下划线隔开
cmdOptionKana   
关键问题:这个语言的目标用户是谁?
如果目标用户明确,那就按照他们的习惯来。如果预估用户不多,那也可以任性一点按自己的喜好来。
您需要登录后才可以回帖 登录 | 立即注册

返回顶部