Как понять, когда применять высокие технологии

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

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

Три самых важных соображения о потенциальном использовании какой-либо техники это:

  • Хорошо ли эта техника инкапсулирована? Так что риск для остальных систем невысок, как и общий прирост сложности и затраты на поддержку

  • Является ли преимущество использования этой техники значительным (например, в два раза для старой и хорошо разработанной системы или в десять раз для новой)?

  • Сможете ли вы протестировать и оценить эту технику эффективно?

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

Следующее: Как разговаривать с неинженерами

Last updated

Was this helpful?