16

我正在寻找某种参考来显示流行编程语言符号的频率。我正在尝试为编程设计最佳键盘布局。

如果没有这样的参考,我不介意创建一个简单的实用程序来解决这个问题。但是,我需要关于为每种语言分析哪些文件的建议。

我可以预见的问题之一是说我得到了一些objective-c 代码,如果它是一个没有对象的简单程序,那么[and]键的频率将远低于普通objective-c 文件。所以,我想说的准则之一是示例代码应该代表一个普通文件并使用该语言最常用的特性。

最初我想我应该用不同的语言编写相同的代码,但我不确定这是否是一个好主意,因为有些语言的用途与其他语言不同。

4

6 回答 6

5

对于用于统计分析的大型代码示例,您可以尝试浏览流行的开源项目或按语言在Koders上搜索。

几年前,我对 QWERTY 布局进行了一些简单的更改,从那时起我就一直使用它作为我的通用布局:

  • 交换相应的移位符号的数字。
  • 交换_-: 带有下划线的名称很常见,现在-+两者都需要 Shift。
  • 交换[]{}: 块比下标更常见。

加上两个可选的变化,品尝:

  • 交换`~:析构函数很常见。
  • 交换'":字符串比字符更常见。

最后一个通常会干扰输入普通英文文本。该布局适用于 C++、Perl 以及我在过去两三年中使用过的任何其他内容。显着的速度增加来自于按下 Shift 键的需求急剧减少。我发现对数字使用 Shift 并不是什么大问题,因为无论如何,数字键盘通常更快。

于 2010-08-12T03:22:56.453 回答
3

新 C 标准:经济和文化评论》一书包含大量对 C 源代码使用的测量。使用数据和表格以独立 pdf 格式提供

于 2011-02-23T02:12:06.783 回答
2

@Derek Jones 引用了新 C 标准:经济和文化评论,其中包含信息,但以下是其中包含的频率以供快速参考:

space 15.083
! 0.102
" 0.376
# 0.175
$ 0.005
% 0.105
# 0.175
& 0.237
' 0.101
( 1.372
) 1.373
* 1.769
+ 0.182
, 1.565
- 1.176
. 1.512
/ 0.718
: 0.192
; 1.276
< 0.118
= 1.039
> 0.587
? 0.022
@ 0.009
[ 0.163
\ 0.97
] 0.163
^ 0.003
_ 2.550
{ 0.303
| 0.098
} 0.210
~ 0.002

这是按频率排序的相同:

space 15.083
_ 2.550
* 1.769
, 1.565
. 1.512
) 1.373
( 1.372
; 1.276
- 1.176
= 1.039
/ 0.718
> 0.587
" 0.376
{ 0.303
& 0.237
} 0.210
: 0.192
+ 0.182
# 0.175
# 0.175
] 0.163
[ 0.163
< 0.118
% 0.105
! 0.102
' 0.101
| 0.098
? 0.022
@ 0.009
$ 0.005
^ 0.003
~ 0.002
于 2020-07-06T23:59:42.263 回答
1

它们是可用的Dvorak键盘布局版本,针对程序员进行了优化。

http://www.kaufmann.no/roland/dvorak/

如果您碰巧使用 Ubuntu,它已经在您的系统上。

于 2010-08-06T06:57:50.830 回答
1

您正在寻找的是一个很好的编程语言语料库。虽然粗略的谷歌搜索没有立即出现,但如果您创建自己的工具,以下链接可能会被证明是有用的。

一种检测源代码抄袭的新框架

卡尔加里语料库

从 Java 源代码生成 NLP 语料库

计算机科学文本语料库/搜索引擎 X-Tec 及其应用

从代码搜索引擎使用日志中挖掘搜索主题

于 2010-10-07T04:45:09.893 回答
0

有大量开源软件可供您测量,以获得一些关于字符频率的良好数据。Sourceforge 和 github 是值得一看的地方。

开发人员不只是编写代码,他们还编写设计文档、电子邮件和堆栈溢出问题的答案。也许在一些同意的开发人员计算机上安装键盘记录器是最好的方法。

于 2010-08-12T03:01:37.300 回答