Мы все видели эту историю. Новый разработчик-энтузиаст присоединяется к команде и сразу же начинает указывать на проблемы.


Эй, почему эта система так долго запускается?
Почему вы, ребята, не используете XYZ?
Почему вы еще не обновили эту библиотеку?

И что мы им скажем?

Видите ли, это довольно сложно. Вы не знаете всей системы. Существует множество взаимосвязанных зависимостей.
Не трогайте этот код!
Мы пытались сделать это раньше. Это ломает все…И мой любимыймы добавили это в наш список невыполненных работ в качестве технического долга.

Если не сломалось, не чини!

Если вы разработчик программного обеспечения, вы, вероятно, слышали эту фразу в какой-то момент своей карьеры. Эта «мудрость» часто исходит из многолетнего опыта кодирования. От самого энтузиаста-разработчика в какой-то момент, который пытался все реорганизовать и сломал. В то время ты пообещал себе, никогда больше!

Почему

Представьте, что вы покупаете новый автомобиль и не обслуживаете его. Без чистки, без замены масла, без перестановки шин или проверки давления в шинах. На самом деле, каждый раз, когда что-то идет не так, вы не идете к механику или сервисному центру. Вы просто добавляете все возможные временные исправления и забываете об этом. Вы взламываете ее до тех пор, пока не перестанете ее взламывать, а затем, если ваша машина сдохнет, вы просто пойдете и купите новую машину.

Звучит нелепо, не так ли?

Недавно у меня дома была проблема с сантехникой. Пришел сантехник и сделал небольшой осмотр. Он бросил один взгляд и понял проблему. Он был профессионалом. Решил проблему за 10 минут. А затем он потратил еще 30 минут, чтобы исправить другую связанную с этим проблему, которую я не заметил и не просил его исправить. Заметьте, он не брал с меня никакой дополнительной платы за эту дополнительную работу.

Почему он так поступил? Я скажу вам, почему…

Потому что он знал, что это была катастрофа, ожидающая своего часа.

Потому что он знал, что может улучшить ситуацию.

Потому что он профессионал, который гордится своей работой.

Жизненный цикл программного обеспечения

Большинство программ не перестают работать случайным образом. Обычно это начинается с блестящей новой технологии. Потом потихоньку начинает пахнуть. В последующие годы вонючий код посещают разные разработчики. Вместо того, чтобы наводить порядок, они скрывают это, добавляя свои собственные хаки поверх существующих хаков, пока гора хаков не начинает вонять так сильно, что вам нужно привлекать экспертов. Приходят высокомерные эксперты, осуждают работу своих предшественников и рекомендуют снести гору хаков, чтобы освободить место для нового блестящего программного обеспечения… И цикл продолжается!

Сопровождение является нормой во всех отраслях и профессиях, почему для разработчиков программного обеспечения должно быть по-другому?

Как «профессиональные» разработчики программного обеспечения, мы не должны игнорировать обслуживание программного обеспечения. Всем, кто говорит, что сопровождение кода отнимает много времени и стоит очень дорого, я хотел бы поделиться старой поговоркой из строительного бизнеса:

Копейка планового и профилактического обслуживания стоит доллара ремонта.

Кроме того, знаете ли вы, что еще требует времени и денег?

Производственные сбои и простои системы, создание нового программного обеспечения и участие в длительных и дорогостоящих судебных процессах.

Другие статьи из этой серии





Я рад, что вы прочитали все🤓

Согласны ли вы с моими мыслями? У вас есть что-то, чем вы хотели бы поделиться? Я хотел бы прочитать ваши мысли и опыт.
Пожалуйста, оставьте ответ ниже.

Я ❤️ занимаюсь разработкой программного обеспечения и люблю писать об этом статьи. Но они требуют много времени и усилий. Если вам понравилась эта статья, поделитесь ею и порекомендуйте ее.

Удачного кодирования!