Почему я перестал экспортировать default из JavaScript-модулей

Николас Закас – автор нескольких книг по JS и оригинальный автор eslint – в январе написал статью про то, почему он решил не использовать дефолтные экспорты в своих модулях. Статья называется "Why I've stopped exporting defaults from my JavaScript modules".

Для меня самое полезное в статье (как это ни странно) не причины, из-за которых автор отказался от дефолтных экспортов, а принципы, которыми он руководствуется при разработке и которые ценно вспоминать время от времени:

  1. явное лучше неявного;
  2. имена должны быть консистентны во всех файлах;
  3. выкидывайте исключений как можно раньше и чаще;
  4. меньшее количество решений - более быстрая разработка;
  5. необходимость переключать контекст (side trips) замедляет разработку;
  6. избыточная когнитивная нагрузка замедляет разработку.

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

https://humanwhocodes.com/blog/2019/01/stop-using-default-exports-javascript-module/

← Home