第(2/3)页 代码界的江湖高手吴斌已经在各大论坛见识了不少,不过他现在身在科大,会遇到什么样的道行的黑山老妖还真不知道。 “真聪明啊……” 刷完几组代码,吴斌嘴角翘了翘,这个写代码的人明显知道会有人检测代码的相似度,所以故意把代码给改复杂了,如果要人工一一来鉴定的话,的确费时费力。 另外还有直接把代码拷贝过来的同学,应该都是些抱大腿的同学,可以说完全是不劳而获,虽然说这是人的天性,但肯定不是什么好行为啊。 ‘不过这个实验设计的的确有些枯燥,估计大多数同学没兴趣认真做吧。’ 但错的就是错的,养成这种习惯对于学业肯定没有任何好处。 “怎么样,有难度吗?”站在身后的唐成文问。 “还行,给我点时间就好。” “那就太好了。”唐成文说完小声问李岩:“你还认识信院的朋友?” “哦不是,他是我同学,物院的。” “物院现在这么全能了吗!?”唐成文惊道。 “没,就他一个,他兴趣爱好比较广泛。” “优秀……” 两人聊天间吴斌正做着问题分析,从本质上来说,检查抄代码的问题其实是给定两份代码P1和P2。 要求 d(P1,P2)它们之间的“距离”,距离越小则抄袭嫌疑越大。 解决问题的前提自然是找到问题,目前这么多代码看下来,吴斌差不多在心里做了个总结。 用的最多的方法是修改注释、变量名、大小写等无关信息。接着是代码重排、风格修改等,例如用indent工具过滤一下代码,要知道每个人都有自己的编程风格,这么一改,肉眼看起来可就大不一样了。 另外两种比较有技术性,一是增加或删除代码中的冗余成分,例如增加一些没用的代码,或者删掉一些打印的调试信息。 二是对数据结构、循环、局部代码做等价的重写,拆分、合并函数。 第(2/3)页