Development

Ubuntu-программирование

(В оригинале – Ubuntu Coding for Your Friends)

Часто мы пишем код в изоляции, и код отражает нашу личную интерпретацию проблемы и наше видение решения. Мы можем при этом работать в команде, все еще оставаясь изолированной командой. Мы слишком часто забываем, что этот код, написанный в изоляции, будет запускаться, использоваться, меняться другими людьми. Очень легко не заметить социальную сторону написания ПО. Создание ПО – это смесь технической и социальной работы. Нам нужно чаще поднимать голову, чтобы понять, что мы не работаем в изоляции и на всех нас лежит часть ответственности за повышение вероятности успеха для всех, а не только для команды разработки.

Вы можете писать качественный код в изоляции, замкнувшись в себе. Это так называемая эгоцентрическая позиция. Этого же придерживается Дзен, и это все про вас в тот момент, когда вы пишете код. Я всегда стараюсь жить в настоящем моменте, потому что это помогает мне писать качественно, но при этом я живу в своем собственном моменте. А как же момент команды? Он тот же самый, что и мой, или нет?

На зулусском языке, философия Убунту формулируется как «Умунту нгумунту нгабанту», что можно приблизительно перевести как «Личность – это личность среди личностей». Я становлюсь лучше, потому что вы делаете меня лучше своими хорошими поступками. Обратная сторона – вы начинаете делать хуже свою работу, если я делаю хуже свою. Для разработчиков это можно сузить до «Разработчик – это разработчик среди других разработчиков». А опустившись до материального мира, можно сказать «Код – это код среди другого кода».

Качество моего кода влияет на качество вашего. Что, если мой код – плохой? Даже если вы напишете очень хороший код, то будут точки соприкосновения вашего кода с моим, что снизит качество вашего. Вы можете применять различные паттерны и техники для снижения ущерба, но ущерб все равно уже нанесен. Ведь я заставил вас делать больше, чем вам было нужно лишь потому, что я не подумал о вас когда проживал свой момент.

Я могу считать свой код аккуратным, но я все еще могу его улучшить при помощи Убунту-программирования. Как выглядит Убунту-код? Он выглядит просто как хороший код. Речь не идет о самом написанном коде. Речь идет о процессе его написания. Написание кода для ваших друзей, согласно философии Убунту, поможет команде разделить ваши ценности и принципы. Следующий, кто каким-либо образом коснется вашего кода, будет лучше и как человек, и как программист.

Дзен – это про отдельную личность. Убунту – это Дзен для группы людей. Мы очень-очень редко пишем код лишь для себя самих.

Автор оригинала – Aslam Khan