Обсуждая новую технологию, я редко оказываюсь первым, кто соглашается с ней. На самом деле, я обычно убийца, который в конечном итоге выступает против использования новой библиотеки или новой языковой функции, когда энтузиазм высок и все хотят начать.
Дело не в том, что я хочу оставаться в комфорте и никогда не двигаться вперед. Скорее, мне нужно убедиться, что что-то стоит того, а не двигаться ради этого. Новые функции и библиотеки могут усложнить и без того сложное. Это затрудняет присоединение новых людей (включая вас, если вы не прикасались к нему в течение последних 6 месяцев).
Я за новые идеи, которые упрощают понимание программного обеспечения и позволяют мне лучше выполнять свою работу. Тем не менее, спор о новой технологии слишком сосредоточен на самой блестящей новой технологии, а не на проблеме, которую она решает. Одной отличной идеи недостаточно; он должен хорошо работать в реальном мире.
Чтобы проиллюстрировать это, я выбрал наугад несколько шаблонизаторов на npm (не оценивая их качество; возможно, они все хороши). Вот какие описания вас поприветствуют:

Почему я должен выбирать один из них или использовать его для замены существующего инструмента? Описание типа «быстрый и мощный» не очень полезно. Это хорошо, но кто выберет маломощный, медленный двигатель?
Конечно, если я ищу конкретно движки шаблонов HTML, я могу немного сузить круг, но если у меня нет явных предпочтений в отношении того или иного способа, что мне выбрать? Конечно, было несколько проблем или вариантов использования, которые привели к написанию этих движков вместо использования существующего, но я не могу ничего узнать, глядя на это.
На данный момент я спрашиваю себя, будет ли библиотека существовать через 5 лет (не заставляя меня переписывать все каждый год) и хорошо ли она документирована, чтобы я мог быстро набрать скорость, а не реализует ли она классный шаблон в конкретный.
Если бы мне пришлось выбирать что-то для проекта из этого списка, я бы, вероятно, выбрал те, которые имеют наиболее многообещающую документацию и большое количество последователей, и попробовал их на себе. Конечно, он все равно может «взорваться» на более позднем этапе производства или при попытке реализовать какую-то функцию, поскольку я только пишу прототип, но это лучше, чем ничего.
Но после всей этой работы, зачем мне переключаться на что-то новое через несколько лет, если то, что я выбрал первым, все еще хорошо работает? Я должен быть действительно убежден, что он может лучше решить мою проблему, и это стоит затрат на переход на повышенную производительность и простоту использования. Учитывая скорость, с которой развиваются технологии, я должен быть уверен, что оно того стоит. Я не могу позволить себе тратить свое время на переход к чему-то, что только усугубит ситуацию.
Первоначально опубликовано в моем блогеhttp://blog.cindypotvin.com/are-you-hard-to-convince/. Подпишитесь на меня, чтобы не пропустить другие статьи, подобные этой!