论文写完了需要查重。有的同学发现书上的代码也会被标红。书上的代码不是正确的吗?为什么查重系统会认为这是重复呢?我们需要明白查重系统是怎么工作的。查重系统是一个计算机程序。它里面有一个很大的数据库。数据库里有很多已经发表的文章和资料。你提交论文后系统会把你的文章和数据库里的内容进行对比。系统看的是文字是不是一样。它不管这些文字是普通的句子还是计算机代码。对于查重系统来说代码就是一段特殊的文字。系统发现你的代码和数据库里某段文字一模一样它就会标红。它不会判断这段文字是不是来自教科书。它也不会判断这段代码是不是必须这样写。它只是机械地对比文字。
书上的代码是公开的知识。很多教科书都很经典。很多学生会参考书上的代码。他们的论文里可能会写上相似的甚至一样的代码。这些代码就可能进入查重系统的数据库。比如某个学长去年写了论文用了书上的代码。他的论文被学校收录进了数据库。今年你写论文也用了同一段代码。查重的时候系统就会发现你的代码和学长论文里的代码一样。系统就会认为这是重复的。它不知道你们都是抄的书。它只知道两段文字完全一样。
代码本身具有特殊性。很多编程问题的标准解法是固定的。比如排序算法。冒泡排序的代码写法就那几种。书上这么写你也不可能改成别的样子。如果你改了代码可能就运行不了了。但查重系统不理解这个。它只看字面是不是相同。这就造成了一个矛盾。代码要求准确一字不差。查重系统要求原创不能相同。我们应该怎么办呢?
有些同学会想修改代码来降低重复率。比如把变量名改一下。把a改成b把temp改成tmp。调整一下代码行的顺序。加一些无用的注释。这些方法有时候有用。因为查重系统是逐字对比的。你改了几个字系统可能就认为不一样了。但这种方法有风险。你可能会把正确的代码改错。代码一错程序就无法运行。论文里的代码应该是可以运行的。如果你的代码是错的那么论文的价值就没了。老师看你论文的时候可能会运行你的代码。如果运行失败你的论文成绩就会受影响。所以随意修改代码不是一个好办法。
更好的办法是和你的指导老师沟通。在提交论文查重之前先问问老师。告诉老师你的论文里引用了书上的经典代码。问问学校对这部分有什么规定。有些学校是认可的。有些学校允许你把代码部分放在附录里。附录可能不参与查重。或者查重的时候可以排除代码部分。每个学校的规定不一样。你一定要提前问清楚。按照学校的要求去做就不会有问题。
你也可以在论文中清楚地注明代码的来源。在代码的上方或者下方写一行说明。写明这段代码出自哪一本书。写上书的作者书名和页码。这是对原作者劳动的尊重。这也向老师表明你知道这段代码不是你自己写的。你是引用了权威的资料。这体现了学术的诚实。老师看到了会觉得你态度认真。这可能会对你有好处。
有的查重系统比较智能。它们能识别出论文中的代码片段。对于代码部分系统会用特殊的方式处理。比如不把代码计入总文字复制比。或者对代码的重复有更高的容忍度。但并不是所有系统都这么智能。很多系统还是很死板。你不能完全依赖系统的智能。你要自己做好准备。
写论文的时候要有长远考虑。尽量理解书上的代码而不是简单抄写。理解了之后你可以用自己的话解释代码的逻辑。你可以写清楚这段代码每一步是做什么的。这样即使代码本身重复了你的解释文字也是原创的。你的论文就有了自己的东西。查重的时候解释部分不会被标红。整个章节的重复率就可能降低。
还有一种情况是你可以自己重写代码。实现同一个功能可以有多种写法。如果你编程能力很强你可以不抄书上的代码。你自己根据算法原理写出功能相同的代码。你的代码和书上的不一样但作用一样。这样既避免了重复也展示了你的能力。当然这需要时间和编程基础。不是每个同学都能做到。
最后我们要明白查重的目的。查重不是为了为难学生。查重是为了保证学术的原创性。学校希望看到你自己思考的结果。直接大段抄书肯定是不对的。但合理地引用经典代码是允许的。关键是要处理好引用和原创的关系。你要让论文的主体思想是你自己的。代码只是你用来实现思想的工具。工具是现成的没关系但思想必须是你的。
书上的代码被标红不用太紧张。这是一个常见的问题。很多学生都遇到过。按照正确的方法去处理就可以。问老师加注明或者自己重写都是可行的办法。认真对待你的论文认真写好每一个部分。这样你的论文就能顺利通过查重。