Очередной спор о стиле, красоте и компактности кода занял слишком много времени, в связи с чем и был отправлен на разрешение широкой аудитории StackOverflow. Это помогло, и спор решился, но в комментариях мне намекнули, что я пришел не по адресу:
Stack Exchange's "codereview" site is the new hotness for this sort of question.
Оказывается, больше года назад в застенках Area 51 был рожден вопросник Code Review, призванный делать код лучше.
Code Review находится в состоянии беты уже 663 дня. На данный момент проект собрал, ни много ни мало, 5 689 вопросов, и вдвое больше ответов (для сравнения, количество вопросов на StackOverflow приближается к 780 000).
Примеры типовых вопросов, которые можно задать сообществу:
Вот мой код. Выглядит ли API спроектированным достаточно хорошо?
Как можно улучшить этот алгоритм сортировки?
Я сомневаюсь в читаемости этого куска %название_языка%-кода. Как его сделать более понятным?
Скорее всего, ответы на эти вопросы можно нагуглить, но сделать это порой довольно сложно, в особенности для начинающих программистов. Не исключено, что поисковая система приведет Вас на StackOverflow. С большой вероятностью Вы найдете необходимый ответ именно там.
Я уделяю рефакторингу чужого (и своего) непонятного/слишком сложного/некачественного кода достаточно много времени. Это хороший способ учиться в процессе работы, следить за тенденциями и не стоять на месте. Поэтому появление такого ресурса как Code Review не оставило меня равнодушным.
Сеть Stack Exchange начала свое существование с сайта stackoverflow.com/, запущенного в 2008 году и известного многим юзерам хабра, а сейчас включает в себя более 90 специализированных Q&A проектов. Среди них можно найти вопросники не только на околонаучную, но и на религиозную и спортивную тематику, и даже один о домашнем пивоварении. С полным списком всех проектов и информацией об их популярности можно ознакомиться на stackexchange.com/sites.
Формат StackOverflow сам по себе очень успешен для поиска объективных и качественных решений по любому вопросу. Но такой формат хорошо работает только при большом количестве людей, вовлеченных в обсуждение.
Code Review сейчас находится в статусе Public Beta. Эта маркировка расшифровывается так:
Sites remain in beta for at least 90 days to build up a critical mass of users, questions, and participation.
Т.е. в течение хотя бы 90 дней сайту нужно настояться, чтобы критическая масса пользователей, вопросов и ответов запустила механизмы, аналогичные StackOverflow. Есть довольно конкретные метрики, которые позволяют судить о готовности проекта к релизу:
Как можно заметить, при достаточно хорошем количестве пользователей, на данный момент у Code Review хромает количество вопросов и ответов. Посмею предположить, что наличие ответов зависит напрямую от количества и качества вопросов.
Предлагаю подумать: сколько раз за день у Вас перед глазами мелькает код, который мог бы стать чуточку лучше? А что Вам мешает его улучшить? Если это нехватка времени или навыков, а возможно и простые сомнения, которые не развеять в одиночку, то Code Review — самый подходящий способ справиться с помехами.
В следующий раз, когда Вы столкнетесь с нетривиальной задачей по программированию, попробуйте вынести её обсуждение на Code Review. Принимайте участие в жизни проекта, задавайте вопросы, отвечайте на них. И помните: каждая строчка качественного кода делает чью-то жизнь проще и спасает маленького пони от слез.
Автор: shebanoff