Тезаурус проекта
Feb. 20th, 2015 03:39 pmКакие самые частые слова в языке программирования С++?
Пишем скриптик (комментарии добавлены при публикации):
Перловый скриптик wordcnt таков:
В результате на треть миллиона строк живого кода (nocomments) выходит около 38 тысяч разных умных слов. Частотный словарь начинается так:
(i, it и mod - имена переменных, Expr - имя типа, но не того, которого обычно переменная с именем mod)
Пишем скриптик (комментарии добавлены при публикации):
find Code -name '*.cc' -o -name '*.h' | \ находим все файлы с исходным кодом
xargs cat | \ собираем вместе
tee allsource | \ сохраняем чтоб было
sed s/#/@/g | \ не даем работать препроцессору
cpp | \ теперь он только комментарии удаляет
sed '/#/d;/^$/d' | \ удаляем вставленные препроцессором номера строк и пустые строки
sed "s/'\"'/@/g" | sed 's/\\[\\"]/@/g; s/"[^"]*"/ /g' \ ликвидируем всё в двойных кавычках
> nocomments
wordcnt < nocomments | \ частотный словарь алфавитно-цифровых последовательностей
sort -r -n -k 2 | \ сортируем
grep -v '^ *[0-9]' \ выбрасываем числа
> fullcnts
Перловый скриптик wordcnt таков:
while (<>) {
@words=split(/[\W\s]+/, $_);
foreach $word (@words) {
$wordcnt{$word}++;
}
}
foreach $word (keys(%wordcnt)) {
printf "%20s %d\n", $word, $wordcnt{$word};
}
В результате на треть миллиона строк живого кода (nocomments) выходит около 38 тысяч разных умных слов. Частотный словарь начинается так:
if 27202
const 21901
return 20803
int 13856
void 13070
char 12530
bool 10847
this 8959
std 8399
else 8278
case 7021
NULL 6896
i 6767
false 6288
it 5855
unsigned 5396
include 5287
true 5158
Expr 5046
mod 4678
string 4480
name 4358
break 4043
for 3868
c_str 3804
class 3742
size 3670
public 3633
(i, it и mod - имена переменных, Expr - имя типа, но не того, которого обычно переменная с именем mod)
no subject
Date: 2015-02-21 05:27 pm (UTC)