やってみる

アウトプットすべく己を導くためのブログ。その試行錯誤すらたれ流す。

リポジトリの言語を取得する

GitHubリポジトリプログラミング言語ソースコードのByte数を取得し、DBへ挿入する。

成果物

GitHubGiHub.Repo.Lang

使い方は上記GitHubリポジトリを参照。

実行結果

DBファイルに挿入される。

集計

おまけで簡単な集計を表示する。私のリポジトリで試してみた結果が以下。

集計の例

2016-06-20~2017-01-14の間に100リポジトリ作成した。 ソースコードの合計ファイルサイズは約590KB。

プログラミング言語別のファイルサイズは以下のとおり。

言語 Byte
C++ 406817
C# 100316
Batchfile 42092
Python 25525
JavaScript 4632
Makefile 3755
Shell 3096
Visual Basic 1717
C 1076
PowerShell 855
HTML 593

私はおよそ半年間で590KBのコードをUPしたらしい。11種の言語を操る。

少し前はC++メインで触っていたのでトップ。WindowsプログラミングとGTK+が主な内容だった。今はLinux移行も検討しているので今後どうなるか不透明。BatchからPythonに乗り換えるべく奮闘中なので、いずれPythonがBatchを追い越すだろう。JavaScriptJScriptを含んでいると思う。

コードのByte数

ファイルのByte数だけでは、たくさん書いたという指標にならないかもしれない。また、言語ごとに分けたところで、言語仕様が違うから単純に比較できない。

文字コードにより1文字あたりのByte数が違う。Shift-JISは1~2Byte, UTF-8は1~3Byteらしい。

Windowsプログラミング言語はShift-JIS(CP932)になる。VC++などもそう。g++はUTF-8で書ける。GitHubでは分類しておらずC++でひとくくりになる。

GitHubではShift-JISが文字化けしたり、コード参照できないなどの問題があるのでコメントを書きづらい。UTF-8なら気にせず書ける。

日本語コメントを多く書くとByte数が上がるのではないか。C#UTF-8なので結構書くが、Pythonは英語が推奨されているので控えめ。

課題

所感

集計を見てニンマリ自己満足に浸れた。モチベーションも上がりそう。実用レベルまで完成度を上げたい。