Блог по Ruby in Rails

блог по Ruby on Rails


четверг, 10 сентября 2009 г.

Что мне нравится в "багфиксинге"


Оригинал: http://www.andrewmoore.com/...

Перевод осуществил: Максим Николенко


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

Преодолей застой и ты - герой



Когда меня принимают на работу для поддержки уже работающего приложения, часто
от меня требуется просто обеспечить его бесперебойное функционирование. Если
программа работает без ошибок, но в нее не добавляются новые функции, то я
удовлетворительно выполняю свою работу.

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

А сделать это с уже работающей программой вам будет несложно уже хотя бы
потому, что вы не тот человек, который ее писал. Незамыленный взгляд позволяет
найти проблемные места для приложения усилий. Через несколько недель вы начнете
слышать фразы, похожие на "мы совсем не ожидали, что программа сможет делать
это". У вас есть преимущество из-за разного с вашим предшественником мышления.

Вы можете легко превратить центр затрат в центр прибыли

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

Независимо от причин вышеописанной ситуации, мне очень нравится взять и
превратить программу, с которой были связаны постоянные затраты, в источник
конкурентного преимущества для организации. Часто с помощью сбора данных или
добавления небольшой функции я могу создать для компании ресурс, имеющий ценность. Если это можно сделать быстро (дешево), то происходит получение прибыли.

Спонсоры поста:

BuyStyle - разработка логотипов. Логотип - это уникальное изображение характера компании, ее философии, стиля работы с клиентом. BuyStyle - команда профессионалов с большим опытом работы в сфере разработки логотипов, в чем не одногратно убеждались их клиенты. Качественный логотип от BuyStyle выделит вас из серой массы конкурентов!

Хочешь безопасность для своих серверов как в Форде Нокс, а обслуживание как в Швейцарских банках? - Тебе отлично подойдет датацентр от Di-Net. Датацентр от Di-Net - закаленное качество!

4 комментария:

  1. К сожалению, не всегда можно обойтись "малой кровью" при доработке чужого кода. Да и рутина по поддержке пользователей может сильно отрывать от рефакторинга. Однако сказанное в статье правда и дорабатывать иногда почётнее, чем создавать "с нуля" :)

    ОтветитьУдалить
  2. Есть красивый, удобочитаемый код. а есть код за который хочется автору оторвать руки и выколоть глаза. Работать с первым - удовольствие, второй легче полностью переписать. Еще хорошо, когда код документирован.

    Спасибо Максу за переводы!

    ОтветитьУдалить
  3. Доработка и переработка чужого кода очень полезный опыт. Даже, если сам процесс не всегда приятен, то показателен и эффективен в самообучении. Т.е. смотришь, как делали другие, анализируешь и стараешься улучшить.

    ОтветитьУдалить
  4. Помню, хотелось в WordPress разобраться - залез в код, а там такое... Ну его - подумал я=)

    Кто-то программирует под Joomla(я и сам подумываю изучить данную CMS ибо заказов касательно доработки и написания плагинов под нее много), но с джумлой тоже не все гладко! Написать относительно простой плагин при достаточно хорошей документации - очень сложно. всюду вылетают косяки-так мне говорили и теперь я испытываю страх=)

    По-моему, гораздо интересней и удобнее работать с фреймворками типа Коханы или КодеИгнитера... хотя, у каждого свои вкусы.

    ОтветитьУдалить