GitHubの月間トレンドになっているプロジェクトのインデントを調べる

GitHubの 月間トレンドリポジトリ の言語別上位10リポジトリのインデント方法を調べました。リポジトリが内包している外部ライブラリのソースコードではなく、リポジトリ自身のソースコードについて調べています。スペースでのインデントとタブでのインデントが混在している可能性もありますが、ソースコードから適当に該当プログラミング言語のファイルを選択し、その最初のインデントが何であるのかを記載しています。また、ソースコードが見つけられなかったものや、例えばPHPでHTML内に埋め込まれている場合はスキップしました。

対象はTrending repositoriesページのサイドパネルに表示されていたC、CSS、Java、JavaScript、PHP、Python、Rubyです。サイドパネルに表示されている言語は、ログインしているアカウントの情報によって変わるようなので、ブラウザのプライベートモードを使用しました。

C

リポジトリインデント
grpc/grpc2スペース
rui314/8cc4スペース
ryanmjacobs/c2スペース
torvalds/linuxタブ
facebook/css-layout2スペース
seppo0010/rliteタブ
h2o/h2o4スペース
WhisperSystems/Signal-iOS4スペース
antirez/redis4スペース
git/gitタブ

CSS

リポジトリインデント
twbs/bootstrap2インデント
Dogfalo/materializeタブ
HubPress/hubpress.ioタブ
daneden/animate.css2スペース
FezVrasta/bootstrap-material-design4スペース
jaicab/localFontタブ
jfrazelle/dockerfiles2スペース
zurb/foundation2スペース
Stanko/skyblue2スペース
sahat/hackathon-starter2スペース

Java

リポジトリインデント
facebook/stetho2スペース
haifengl/smile4スペース
mikepenz/MaterialDrawer4スペース
square/sqlbrite2スペース
bluelinelabs/LoganSquare4スペース
orhanobut/hawk4スペース
iluwatar/java-design-patternsタブ
airbnb/airpal4スペース
grpc/grpc-java2スペース
PhilJay/MPAndroidChart4スペース

JavsScript

リポジトリインデント
sdelements/lets-chat4スペース
Selz/plyrタブ
getify/You-Dont-Know-JSタブ
Mango/slideout2スペース
facebook/react2スペース
maxwellito/vivus2スペース
babel/babel2スペース
angular/angular.js2スペース
ejci/favico.js4スペース
reapp/reapp2スペース

PHP

リポジトリインデント
laravel/laraveltab
yiisoft/yii24スペース
mdkholy/dashbrew4スペース
bcit-ci/CodeIgnitertab
domnikl/DesignPatternsPHP4スペース
slimphp/Slim4スペース
borisrepl/boris4スペース
roots/sage2スペース
Sonerezh/sonerezh4スペース
symfony/symfony4スペース

Python

リポジトリインデント
divmain/GitSavvy4スペース
jakubroztocil/httpie4スペース
vinta/awesome-python4スペース
django/django4スペース
goagent/goagent4スペース
ansible/ansible4スペース
docker/compose4スペース
rg3/youtube-dl4スペース
antiboredom/audiogrep4スペース
mitsuhiko/flask4スペース

Ruby

リポジトリインデント
Homebrew/homebrew2スペース
rails/rails2スペース
jekyll/jekyll2スペース
discourse/discourse2スペース
bbatsov/rubocop2スペース
vdaubry/github-awards2スペース
caskroom/homebrew-cask2スペース
sass/sass2スペース
KrauseFx/fastlane2スペース
plataformatec/devise2スペース

感想

PythonとRubyのみ完全に統一されていました。私はRubyを書かないのでRubyのことは分かりませんが、Pythonは公式にPEP8というコーディング規約を持っており、みながそれを順守しての結果だと思います。私はインデントやその他、最低限プロジェクト内で統一されていて欲しいと思っています。別プロジェクトでさえも統一されているというのはとてもすばらしいことと思います。

今回調べた範囲ではスペース4つでのインデントが最も多く、次点がスペース2つでのインデントでした。

コメント

2015 - 2017 (c) 成瀬基樹