复制粘贴代码前要问自己的 6 个问题
1. 这是如何运作的?
2. 这个代码有多旧?
3. 该代码将如何影响我的项目?
4.代码是否需要任何依赖项?
5. 这个代码真的有必要吗?
6. 官方文档是怎么说的?📄
我们大多数人可能都会同意,谷歌搜索是开发人员工作的重要组成部分。我们经常浏览互联网,搜索教程、文档,甚至将代码复制粘贴到自己的项目中。复制粘贴代码可以节省大量时间,但我们如何确保复制的代码是安全的,不会给我们的软件带来新的问题呢?🤔
在将代码复制粘贴到我的项目之前,我会问自己以下 6 个问题:
1. 这是如何运作的?
这听起来可能很明显,但有时您可能需要快速找到解决方案,并且在匆忙中,只需将任何有效的方法复制并粘贴到您的项目中,而无需尝试理解其工作原理和方式。
如果您不花时间真正理解新代码,那么您会:
- 错过学习新知识的机会
- 承担引入新错误或问题的风险
- 可能违背项目的架构
2. 这个代码有多旧?
或者,它针对的是哪个版本的框架/语言?
您可能会遇到针对您正在使用的框架或语言的旧版本编写的解决方案。
在最好的情况下,当编译器失败并提示该方法不存在或已被弃用时,您就会意识到代码已经过时了。但如果没有,这可能会导致您:
- 在代码中引入已弃用的方法
- 错过了使用更新版本应用更好解决方案的机会
3. 该代码将如何影响我的项目?
代码是否遵循了与项目架构相悖的模式?它会让我引入不好的实践或反模式吗?它是在完全不同的环境下编写的吗?
举个例子:
假设你正在开发一款安卓应用,该应用应该能够在低端设备上运行,而你复制的代码并没有针对低端设备进行优化。即使代码“能用”,也可能会损害你的用户利益。
4.代码是否需要任何依赖项?
我通常不愿意仅仅为了解决一个问题而引入新的依赖项,但是(正如我在关于极简主义和干净代码的帖子中所说的那样)我明白有时引入新的依赖项可能是必要的。
无论如何,在复制和粘贴代码并盲目安装其附带的任何依赖项之前,我们至少应该了解它们是什么,以及将它们合并到我们的代码中是否安全(并非每个依赖项都是值得信赖的)。
这是一篇关于评估依赖关系的精彩文章:
5. 这个代码真的有必要吗?
一旦我们理解了我们考虑复制粘贴的代码是如何工作的,我们就应该评估我们是否真的需要它。也许我们项目的架构已经为我们的问题提供了一个解决方案,而我们之前并没有注意到。
在某些情况下,我们在网上找到的解决方案有助于我们理解问题,这种新的理解水平使我们有机会实施我们自己的解决方案,该解决方案比我们要复制粘贴的代码更适合我们的架构和项目。
6. 官方文档是怎么说的?📄
查看语言或框架的官方文档以寻找解决方案是很有趣的,它通常包含最佳实践和很好的提示,可以帮助您更深入地了解代码的工作原理。
从在线资源复制粘贴时如何保证代码的安全?
你的方法是什么?如果你还有其他方法,请告诉我!
有些人分享了一些关于复制粘贴代码可能引发的安全问题的文章。说实话,我在写这篇文章的时候并没有考虑到这一点,但我认为这很重要,所以以下是他们的评论:
非常好的建议,绝对值得牢记。
我想补充一个问题:“代码源是否安全可靠?” 尤其是当我们想在终端中运行它的时候。前段时间,我读过这篇文章,每次复制粘贴代码时都会牢记在心:blog.securelayer7.net/exploiting-b...
顺便说一句,非常感谢您收录我的文章。
相关文章来自BBC新闻。
还值得一提的是,在同一个项目内复制粘贴也是不可以的。这会造成大量的技术债务,而且以后需要更新功能时,它还会给你带来麻烦。与其草率地复制粘贴,不如好好利用时间,确保功能可复用。如果你急于上线某个功能,这样做是合理的,但前提是你必须确保之后能回头重构。