Большинство из нас, вероятно, согласятся с тем, что поиск в Google является важной частью работы разработчика. Мы регулярно просматриваем Интернет в поисках учебников, документации и даже копируем и вставляем код в наши собственные проекты.
Копирование кода может значительно сэкономить время , но как мы можем быть уверены, что код, который мы копируем, безопасен и не принесет новых проблем нашему программному обеспечению?
Вот 6 вопросов, которые я задаю себе перед копированием кода в проекты:
1. Как это работает?
Это может показаться очевидным, но может прийти время, когда вам нужно быстрое решение и, в спешке, просто скопируйте и вставьте все, что работает в ваш проект, не пытаясь понять, почему и как оно работает.
Когда вы не тратите время на то, чтобы по-настоящему понять новый код, вы:
- Пропустить изучение чего-то нового
- Возьмете на себя риск появления новых ошибок или проблем
- Возможно, идете вразрез с архитектурой проекта
2. Сколько лет этому коду?
Или также, на какую версию фреймворка/языка он нацелен? Вы можете столкнуться с решением, которое было написано для более старой версии платформы или языка, который вы используете.
В лучшем случае вы поймете, что код устарел, когда компилятор выходит из строя и сообщает вам, что метод не существует или устарел.
3. Как этот код повлияет на мой проект?
Код соответствует шаблонам, которые идут вразрез с архитектурой проекта? Это заставит меня ввести анти-паттерны? Было ли это написано в совершенно ином контексте?
Вот пример:
Предположим, вы работаете над приложением для Android, которое должно работать на устройствах низкого уровня, и код, который вы копируете, не оптимизирован для этого. Вы можете причинять вред своим пользователям, даже если код «работает» .
4. Требует ли код каких-либо зависимостей?
Я обычно не хочу вводить новые зависимости только для решения одной проблемы, но я понимаю, что бывают случаи, когда введение новой зависимости может быть необходимым.
В любом случае, перед копированием и вставкой кода и слепой установкой любых зависимостей, с которыми он поставляется, мы должны хотя бы понять, какие они есть, и безопасно ли включать их в наш код (не каждая зависимость заслуживает доверия).
5. Этот код действительно необходим?
Как только мы поймем, как на самом деле работает код, который мы собираемся скопировать и вставить, мы должны оценить, действительно ли он нам нужен. Возможно, архитектура нашего проекта уже имеет решение нашей проблемы, которое мы могли бы использовать.
В некоторых случаях решение, которое мы находим в Интернете, помогает нам понять проблему, и этот новый уровень понимания дает нам возможность реализовать собственное решение, которое лучше работает с нашей архитектурой и проектом, чем код, который мы собирались скопировать и вставить.
6. Что говорится в официальной документации?
Интересно проверить официальную документацию по языку или структуре для решений, обычно она содержит лучшие практики и полезные советы, которые помогут вам глубже понять, как работает код.
И важный вопрос: Является ли найденный код безопасным?
0 комментариев
Добавить комментарий