Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

refactor(programming-process): аутсорсинг с использованием сторонних программ #62

Open
Kristinita opened this issue Dec 24, 2018 · 0 comments

Comments

@Kristinita
Copy link
Owner

Kristinita commented Dec 24, 2018

1. Запрос

Было бы неплохо использовать сторонние open source программы вместо «велосипедов».

Конкретные примеры:

  • Octonode вместо собственного хелп-деска (кстати, этим Вы и мне отдаёте на аутсорсинг процесс обработки ошибок Комнат Эрика, освобождая себя);
  • Passport.js на замену существующей авторизации.

2. Аргументация

2.1. Цели написания собственного кода

Для меня:

  1. программы с функциями, которые нужны, не нашёл;
  2. хочу написать лучше, чем в существующих программах.

Если «велосипеды» будут им соответствовать, я только «за», но, ПМСМ, написанный Вами собственный код из рассмотренных примеров явно не соответствует данным целям. Passport.js обеспечивает более удобную авторизацию из соцсетей; недостатки системы ошибок в вопросах описаны в #59.

2.2. Критика «велосипедов»

я не понимаю, зачем писать то, под что уже есть программы, не вызывающие серьёзных нареканий.

  1. Тратится время, которое могло бы быть потрачено на написание нового кода.
  2. Даже если создатели библиотек хуже Вас, как программисты, в целом, это нельзя с уверенностью сказать конкретно в отношении библиотек, ими разработанных. Они уже прошли подводные камни, исправили баги, с которыми Вам только предстоит столкнуться.
  3. Когда понадобится что-то несрочное, issues будут писаться к ним, а не Вам. Тем самым Вы перекладываете на других работу над этими компонентами.

3. Разъяснения

3.1. Утрата сторонних программ

Допустим, разработчик решил удалить свою программу. Обычно так не делается: если принято решение не продолжать работу, репозитории архивируются, но «пару раз» авторы — подчеркну, мелких программ, — удалялись.

  1. Для Node.js пакетов существуют быстрые бесплатные CDN вроде CDNJs и JSDelivr. Файлы остаются доступными при удалении исходных репозиториев.
  2. Форки. Для хороших сторонних программ их делают. При удалении исходной программы можно будет найти и подключить клона.

3.2. Баги

  1. Как автор более 1000 issues, скажу, что критические баги обычно исправляются оперативно.
  2. А пока не исправили, можно откатиться на предыдущие версии; CDN это позволяют делать.

4. Действующий аутсорсинг

На декабрь 2018 в Комнатах Эрика использовался следующий аутсорсинг.

  1. GitHub-репозитории — теперь не нужно каждый раз после создания нового пакета просить Alfy поставить его. Авторы пакетов могут сами добавлять, исправлять и удалять пакеты, и это не говоря о массовых действиях с ними. Как это разгружает разработчика.
  2. string-similarity — см. [Feature request] Алгоритм указания ответов, как близких, без учёта позиций символов #37. После того, как этот пакет был подключён после «велосипеда» и были подобраны оптимальные 50%, претензий к похожим вариантам вообще нет. А если и будут, то это к разработчикам string-similarity, а не Вам вопросы 😄. В то время, как алгоритм Ваших конкурентов оставляет желать лучшего.

По мне существующее использование сторонних программ/сервисов для Комнат Эрика принесло исключительно положительные моменты.

Спасибо.

@Kristinita Kristinita changed the title feat(programming-process): аутсорсинг сторонних программ refactor(programming-process): аутсорсинг сторонних программ Dec 24, 2018
@Kristinita Kristinita changed the title refactor(programming-process): аутсорсинг сторонних программ refactor(programming-process): аутсорсинг с использованием сторонних программ Dec 24, 2018
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
None yet
Development

No branches or pull requests

1 participant