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

А как делают все? На сайте sideeffect.kr [1] собрана статистика коммитов Гитхаба за несколько месяцев для языков 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 [2] по анализу и визуализации открытых данных GitHub, его код опубликован [3] на Гитхабе под лицензией MIT, так что туда можно добавлять новые языки и новые соглашения по оформлению кода.
Автор: ilya42
Источник [4]
Сайт-источник PVSM.RU: https://www.pvsm.ru
Путь до страницы источника: https://www.pvsm.ru/programmirovanie/47952
Ссылки в тексте:
[1] sideeffect.kr: http://sideeffect.kr/popularconvention
[2] GitHub Data Challenge II: https://github.com/blog/1450-the-github-data-challenge-ii
[3] опубликован: https://github.com/outsideris/popularconvention
[4] Источник: http://habrahabr.ru/post/201544/
Нажмите здесь для печати.