Какие стили оформления кода предпочитает аудитория Гитхаба?

от автора

Пробелы или табуляция? Двойные или одинарные кавычки? Открывать фигурную скобку с новой строки или в «египетском» стиле? Вокруг этих соглашений оформления исходников постоянно бурлят священные войны. Впрочем, мало кто решается спорить с тем, что если работаешь в команде, то писать надо так в этой команде принято, или хотя бы переформатировать свой код в принятом стиле перед коммитом. В конце концов, если бы у какого-то стиля было абсолютно решающее преимущество перед другим, то и споров бы не возникало, так что, возможно самое мудрое решение — делать как все.



А как делают все? На сайте sideeffect.kr собрана статистика коммитов Гитхаба за несколько месяцев для языков JavaScript, Ruby, Scala, C#, Java и Python. Для каждого языка выделены несколько типичных разногласий в оформлении кода, и подсчитано, к какому варианту склоняется сообщество.

В самом популярном холиваре «пробелы против табуляции» решительную победу одержали пробелы. Больше всего любителей табуляции остаётся в лагере Java — 24,6%. Меньше всего — среди программистов Scala — 3,3%. Зато в некоторых других вопросах единодушия нет и в помине. Так, любителей использовать верхний регистр для именования констант в Java лишь на 3% больше половины, а пишущие на C# используют три разных стиля оформления констант (капсом, в паскалевском стиле, и как попало) с почти равной частотой. Почти поровну разделились и сторонники двойных и одинарных кавычек в JavaScript.

Некоторые соглашения противоположны для разных языков. Так, подавляющее большинство (86%) программистов C# открывают фигурную скобку на новой строке. В Java всё наоборот — лишь 19,8% придерживаются такого соглашения. Остальные используют «египетский» стиль.

Этот проект был создан для конкурса GitHub Data Challenge II по анализу и визуализации открытых данных GitHub, его код опубликован на Гитхабе под лицензией MIT, так что туда можно добавлять новые языки и новые соглашения по оформлению кода.

ссылка на оригинал статьи http://habrahabr.ru/post/201544/


Комментарии

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *