论文查重时附录里的代码确实会被系统扫描,但标红与否取决于代码本身的性质和查重系统的识别机制。
纯原创代码通常不会触发警报。自己编写的算法实现、独立设计的函数模块、针对特定数据集的处理脚本,这些内容在数据库里找不到匹配源,自然平平安安通过检测。麻烦的是那些调用了公开库函数、使用了经典算法标准实现的代码段。比如用Python做数据分析时import pandas和numpy,或者实现K-means聚类、快速排序这些教科书级别的算法,代码结构和变量命名很容易和别人撞车。查重系统不会区分"合理雷同"和"抄袭",只要字符串连续匹配达到一定阈值就会标红。
代码注释和文档字符串是另一个雷区。很多同学习惯在代码里写详细的中文说明,解释每个参数的含义和返回值。这些文字性描述如果直接复制了教程或GitHub仓库里的注释,查重报告里会一片飘红。更糟糕的是,有些开源项目的代码附带版权声明,哪怕只是借鉴了思路,注释里残留的原作者信息没删掉,可能被误判为整段剽窃。
开源代码的使用边界需要特别注意。MIT、Apache这些宽松许可证允许自由使用,但要求保留版权声明;GPL协议则强制衍生作品开源。论文附录里贴代码时,合规的做法是在注释里注明来源和许可证类型。查重系统检测不到许可证合规性,但审稿人或导师人工复核时,发现代码来源不明会质疑学术诚信。有些学校规定,附录里超过20行的外部代码必须单独申请使用授权,否则不计入原创成果。
技术层面的规避手段效果有限。改变量名、调整缩进、打乱函数顺序,这些小动作能骗过 naive 的字符串匹配,但扛不住专门的代码查重工具。MOSS、JPlag这类系统专门做代码相似度分析,能识别出结构重排后的抄袭。更高级的检测甚至能对比抽象语法树,把语义等价但写法不同的代码揪出来。理工科期刊越来越重视这部分审查,计算机领域的会议论文投稿,代码查重已经是标准流程。
数据处理和可视化代码最容易被误伤。用matplotlib画散点图、用seaborn做热力图,这些标准化操作的代码长得都差不多。几十篇论文都用同一套公开数据集做实验,数据清洗流程的代码相似度自然居高不下。建议把通用操作封装成简短函数,重点展示自己设计的核心算法,减少 boilerplate 代码的暴露面积。
附录代码的格式提交也有讲究。有些查重系统把代码当纯文本处理,有些会尝试语法高亮后提取关键字比对。PDF格式提交的代码可能因换行符识别问题产生乱码,导致无意义的字符匹配;直接贴文本文件又可能因编码问题丢失缩进信息。稳妥的做法是咨询学校技术部门,确认系统支持的最佳提交格式。

