@dddddd3gun

Использовать методы или самому писать функции?

В процессе обучения начал ставить себе задачки всякие разные и столкнулся с такой проблемой. Я могу решить задачу методами тем самым облегчить себе жизнь, а могу сам написать функцию и вот как бы что лучше в нынешних реалиях? Есть ли смысл самому писать функции на которые уже есть методы?
  • Вопрос задан
  • 281 просмотр
Решения вопроса 1
@dan_kosenko
Node.js Developer
В каких ситуациях есть смысл:
  • Улучшить свои знания. Допустим самому попробовать реализовать какие-то алгоритмы, чтобы лучше понимать как работает поиск, сортировка, обход древовидных структур и так далее;
  • Специфичные требования. Например вам нужна высокая производительность, ваш основной стек на Back-end - это Node.js. Так вышло, что вам не хватает производительности и поэтому вы берёте и переписываете нужный NPM пакет на на c++;
  • Раз коснулись темы NPM, то другой пример. В NPM миллионы пакетов на любой случай жизни и так бывает, что нецелесообразно тянуть зависимость ради пару десятков строчек кода.

Когда НЕ стоит изобретать велосипед:
  • Проверенные алгоритмы. Например не стоит в продакшене самому писать библиотеки для работы с шифрованием, если конечно у вас не стоит такая задача. Самописная криптография грозит тем, что вы можете допустить ошибку в шифровании и получить уязвимость, а аудит вашего кода скорее всего не будут проводить десятки экспертов.
  • Придумывать новые фреймворки. Тут просто без должного опыта ничего хорошего не получится.
  • Ограниченные ресурсы и время. Программисты чаще всего работают на кого-то и им выделяются конкретные ресурсы и время на проект. Создание/проектирование новых библиотек, фреймворков и компонентов занимает достаточное большое количество времени. И таким образом вы просто не выполните поставленные задачи, если будете придумывать велосипеды.

В своих проектах можно придумывать всё самостоятельно, но я бы для начала посоветовал научиться работать с готовыми библиотеками, чтобы преждевременно не перегрузить себя работой, которую выполнить хорошо на начальном этапе будет очень сложно.
Ответ написан
Комментировать
Пригласить эксперта
Ответы на вопрос 2
Если вы считаете, что можете чему-то научиться, реализуя уже готовый метод, то пишите свой. Нет — нет.
Ответ написан
Комментировать
mayton2019
@mayton2019
Bigdata Engineer
Нужно писать программу так чтобы она была легко читаема для человека. И чтобы другие читающие
быстро поняли что имелось в виду. Методы против функций - это холивар. В нем нет смысла.
Лучше приведи свой код и попроси сделать code-review.
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы