所谓,天下代码一大抄,亦不过在程序员心中就是复制和粘贴。那么这么做到底对不对呢?
首先需要肯定的是在软件开发中代码复用情况是非常普遍的,判断这种代码复用是否是抄袭行为的标准,要根据被复用的代码版权协议。这种行为非但不应该受到批评,而且应该受到肯定。只要他抄代码的时候遵守了被抄袭的代码的知识产权或分发协议。
从社会角度而言,这个世界上,最应该受到批评的不是抄袭;恰恰相反,应该是重复劳动。重复劳动是对宝贵社会资源(人力物力财力精力时间等)的极大浪费。
目前,我们身处在共享经济当中,可是殊不知我们这是一个伪共享的时代。共享单车,共享汽车,乃至共享充电宝都不是真正的共享,所谓共享就是把闲置和剩余资源利用起来,进行分享,以达到资源利用,资源价值的最大化。现在的共享经济,都不是把闲置和剩余资源的重复再利用,而是花钱买好的,每天,每月正在造成更大的资源浪费。
什么是开源代码
众所周知,所有的软件都用源码编写,并通过编译最终生成系统或应用。开放源码软件保证所有人可以得到这些代码。这意味着没有一个公司可以完全独占它。开放源码意味着自由选择的权力,而自由选择意味着激发更多创新的能量。
它把控制权交还给使用者和客户。您可以查看系统运作的所有源码,或进行修改,或从中汲取相关的知识。系统缺陷和漏洞可以更快地被发现并加以修正。并且,当客户不满意一个供应商的服务,他们可以选择更好的服务提供商来建设他们的信息基础设施。没有技术的壁垒,也没有市场的垄断。
开源代码的价值
对于学生来说:如果做项目不借鉴别人的基本不可能,因为很多原理毕竟不看别人的代码是很难懂得,而开源的出现,最大的好处就是降低了学习编程的门槛,让这种学校里面的小白能更早的接触许多不错的代码
对于程序员来说:好用,开发速度快,bug少。可以加快开发效率,完成了自己的工作,这样的方式简单快捷,不需要思考如何提取抽象。
对于社会来说:开放源码有利于开发更高质量,更稳定可靠的软件系统。它可以几何级数地提升各个公司的开发能力。大家协同工作,最好的软件将获得认可和胜利。我们不再局限于一个公司的小范围开发,我们在基于互联网的世界范围的合作团体和社区内工作,并通过互联网即时地传递新的想法和代码,促进整个软件开发的进步和繁荣。
因此,开放源码的模式可以帮助开发出更高质量,更安全,更易用的集成软件。它的确使软件开发的步伐迈得更加快速,并 《一线大厂Java面试题解析+后端开发学习笔记+最新架构讲解视频+实战项目源码讲义》无偿开源 威信搜索公众号【编程进阶路】 有效降低了成本。
但是,代码的开源,技术的开源可以说是真正的共享,但是还不属于经济,毕竟开源太多都是免费的,所以,我们技术开源才是真正的共享鼻祖。
开源库的正确用法
我们应该得感觉和意识到一些开源许可证的使用,应该正确使用开源库以及开源代码才可以。不知道有多少开发者意识到了开源库的正确使用方法?我相信现在几乎每个程序员开发的项目中都使用了 GitHub 上的开源库,但是你们尊重开源和版权了吗?一般在应用中应该声明一下使用了哪些开源库,以开源许可证等信息。只要不违反原作者的版权协议,那么借鉴是完全可以的。
抄袭也是技术活
能从千百万行代码中找到自己想用的那一段,稍作修改变成自己需要的功能,这本身就是一种于百万军中取上将首级的本事。若不对那段代码无比熟悉,至少架构了然于胸,不然他怎么抄?若不是基础比较扎实,经过了大量训练,他又怎么改呢?
总结
干净利落的抄代码不算本事,你要拿着别人的代码来解决自己的问题那才是本事。所谓天下代码一大抄,但是抄也应该正确的抄,也应该正确的用,在规则和许可下玩才行。不要在没声明的情况下,整体的复制粘贴到你的代码库里,不尊重作者,感觉是你做的似的。
当然作为一名程序员,光辉复制可不行,本期给大家推荐一份Java零基础就业宝典,下文内容会详细地介绍这份宝典的提纲内容,涵盖的知识点一目了然,但文章字数有限,需要完整pdf版,免费领取方式在文末。
这份Java零基础就业宝典内容囊括:
Java基础+集合+多线程+JVM
-
Java基础
-
Java 基本功
-
Java 语法
-
数据类型
-
方法(函数)
-
Java 面向对象
-
集合
-
多线程
-
文件与I/O流
计算机基础
-
计算机网络
-
数据结构
-
算法
-
操作系统