|
Персональные инструменты |
|||
|
Version Control and the... Long Gradated ScaleМатериал из CustisWiki
Моя предыдущая статья о контроле версий и «правиле 80%» заслуживает продолжения, в первую очередь потому, что породило очень шумное обсуждение, ну а затем из-за того, что мне бы не хотелось чтобы меня считали безграмотным нарциссом. Многие со мной согласились, но огромное число людей обиделись на мои смелые обобщения. Я вижу бесконечные комментарии на мой пост (хотя среди них есть и поддерживающие меня — см. пост Джеффа Этвуда), где люди или пытаются решить — входят ли они в «80%» или в «20%», или несут пафосный бред, что все программисты попадают о обе категории одновременно. Начну с извинений. Оно конечно приятно, читать эту статью и думать, что смысл в том, что «80% программеров — это тупые ведущиеся лохи, а другие 20% — клевые, толковые парни, прямо как я». Очевидно, я в это не верю. :-). Несмотря на то, что в начале статьи я специально предупреждал, что для наглядности я буду использовать «упрощенные стереотипы», это не сработало и я многих обидел. Конечно, мир не черно-бел и все программисты уникальны. Нет каких-либо отдельных интересов, которые бы явно свидетельствовали о вашей «20%»-ности. С другой стороны нельзя зайти в какую-нибудь контору и указать на команду программеров — «эти парни явно тупое 80%-е стадо». Нельзя так четко делить, нельзя. И еще, хотя мы конечно все «уникальные бриллианты», у нас сложились очень невнятные представления о альфа-программерах (красноглазых компьютерных чудаках, IT-фанатах, бородатых «гиках», и прочих очкастых «кулхацкерах»). За долгое время у меня сложился определенный подход для выявления «гикнустости». На работе я читаю кучу резюме и интервьюирую множество кандидатов на должность программиста-архитектора и вот основной вопрос, который я задаю себе после интервью: «если бы этот человек был бы независим, богат и не вообще нуждался бы в работе, писал бы он софт для удовольствия?» Иными словами, имеет ли кандидат прирожденную страсть к программированию как к искусству? Именно это ведет к
На этом я и основывал свои сверхсхематичные «80/20» метафоры в той статье, и, надеюсь, последнее определение будет менее скандально. По моему опыту, большинство людей, пишущих ПО за деньги, не имеют глубокой увлеченности в программировании, и не занимаются этим ради удовольствия. Они пользуются инструментами, написанные другими людьми, причем эти инструменты должны быть очень дружественными к пользователю, чтобы ими воспользовались. Как тут указывали, эти инструменты должны работать прямо «из коробки», «с колес», без малейшей «обработки напильником». Основная мысль, которую я пытался донести, заключалась в том, что распределенные системы контроля версий (DVCS) пока не достигли такого уровня дружественности, да и Subversion только-только начинает достигать этого уровня (спасибо клиентам типа TortoiseSVN). Я подписан на Google Alert в моей области в софтверном мире, т.е. каждый раз, когда Google находит новую веб-страницу, ссылающуюся на Subversion или на контроль версий, я об этом узнаю. Вы будете просто поражены числу новых постов в блогах, которые я вижу каждый день, по-существу говорящих «Эй, может наша команда должна начать использовать контроль версий! Subversion кажется достаточно удобной, вы с ней уже работали?» И я вижу ничтожное проникновение DVCS в этот мир, а ведь это большой вызов для DVCS на пути к взрослению. Некоторые обратили внимание на то, что, в то время, когда я взываю к евангелистам DVCS не отбрасывать бездумно такие централизованые системы, как Subversion, сам я занят бездумным игнорированием DVCS (в той статье я жаловался, что большинство DVCS систем не работают под Windows, не имеют простого контроля доступа и не имеют приятных GUI клиентов). Нет, я действительно сталкивался с Mercurial в разных проектах, просто мои утверждения основывались на несколько устаревшей информации. Обратившись к википедии, я уверился в том, что был неправ. :-) Внимание! Данная статья выбрана для репликации во внешнюю базу знаний компании. Пожалуйста, не допускайте в этой статье публикацию конфиденциальной информации, ведения обсуждений в теле статьи, и более ответственно относитесь к качеству самой статьи — проверяйте орфографию, пишите по-русски, избегайте непроверенной вами информации. |
||