V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
3dwelcome
V2EX  ›  问与答

github 上搜代码,怎么才能避免重复结果?

  •  1
     
  •   3dwelcome · 2021-03-16 20:58:31 +08:00 · 1694 次点击
    这是一个创建于 1129 天前的主题,其中的信息可能已经有所发展或是发生改变。

    随便用关键词搜了一点代码,结果发现前几页,很多重复结果。

    就是那种文件名和内容一模一样的,我本以为有开关能去重复,结果网上找了一圈,发现并没有。

    无语 ing,明显提升用户体验的功能,官方为什么不加上呢?

    10 条回复    2021-03-17 11:11:35 +08:00
    hstdt
        1
    hstdt  
       2021-03-16 21:14:57 +08:00 via iPhone
    就算能去重,那到底显示哪个项目的呢
    3dwelcome
        2
    3dwelcome  
    OP
       2021-03-16 21:21:05 +08:00
    @hstdt 我随便搜了一个 mmdevapi.dll 英文单词,首页里 10 个结果,有 9 个是重复的,看名字大概率项目也是 clone 的。
    这种体验实在是很差,旁边放个骰子,点一下摇几个项目,不是挺好的。
    老外太死板,什么项目都希望保留。可是提供的信息越多,越找不到想要的内容,仿佛大海捞针。
    ljpCN
        3
    ljpCN  
       2021-03-17 00:13:03 +08:00
    1. 为什么要搜代码?
    2. 为什么不用谷歌这样的搜索引擎?
    楼主能解释下不?说不定解释下能让大家知道面对你的需求有没有更好的方案。避免这是一个 X-Y 问题。
    3dwelcome
        4
    3dwelcome  
    OP
       2021-03-17 00:31:12 +08:00
    @ljpCN 我不仅仅做前端,我是开发 windows 的,微软有定义大量的 COM Interface,靠自己个人力量没办法吃透,只能参考前人的代码摸索着来。
    以前我一直用 googlecode 搜代码,超级好用,然而前几年倒闭了。
    幸亏又起来一个 github,否则真不知道哪里去找代码。
    learningman
        5
    learningman  
       2021-03-17 01:28:31 +08:00 via Android
    同头痛,原来看一些 linux 内核的接口也是上 Github 找代码,前一面全是 fork
    3dwelcome
        6
    3dwelcome  
    OP
       2021-03-17 01:53:43 +08:00   ❤️ 1
    @learningman 我打算自己写个去重复脚本,反正我前端也很强。
    只要把 github 搜索返回的 html 结果再过滤一次,把有相同路径和相同文件名的 div,折叠一下就可以。
    hs0000t
        7
    hs0000t  
       2021-03-17 02:24:33 +08:00 via Android
    收藏了,伸手党坐等油猴脚本
    AndyAO
        8
    AndyAO  
       2021-03-17 07:12:31 +08:00
    fork 是可以关掉的,好像是 fork:false
    xdeng
        9
    xdeng  
       2021-03-17 09:22:52 +08:00
    同问。
    3dwelcome
        10
    3dwelcome  
    OP
       2021-03-17 11:11:35 +08:00
    总结一下,最后用到了老外的去重算法,就不重复造轮子了 [url]( https://alexwlchan.net/2019/09/github-code-search-with-de-duplication/)

    原本想写的油猴脚本过滤,可是 github 主页搜索,不能设置分页数量。
    举个例子,用 [官网搜索]( https://github.com/search?l=C%2B%2B&q=mmdevapi.dll&type=Code) , 只能返回 10 条数据。我去除 9 条重复, 就只剩 2 条结果了。

    而改用 [API 搜索]( https://api.github.com/search/code?q=mmdevapi.dll+language:cpp&access_token={xxx}) ,能直接一次返回 1000 条结果!

    两者差距太大,只能放弃油猴了。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5345 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 29ms · UTC 09:11 · PVG 17:11 · LAX 02:11 · JFK 05:11
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.