很多人需要查看论文、文献和代码。这是科研工作的一部分。科研人员经常做这件事。学生也经常做这件事。程序员也会查看代码。查看这些内容有方法。方法好,效率高。方法不好,浪费很多时间。
查看论文是第一步。论文很多。数据库很多。知网是一个。万方是一个。WebofScience是一个。IEEE也是一个。PubMed是医学的。arXiv可以看预印本。找论文需要关键词。关键词要准确。关键词不好,找不到好论文。找到论文后,要看摘要。摘要很短。摘要说明文章讲什么。看了摘要,决定要不要继续读。有时只看摘要就够了。有时需要读全文。
下载论文。PDF格式最常见。打开PDF。先看引言。引言讲背景。引言讲问题。引言讲别人做了什么。引言讲本文要做什么。看完引言,知道文章的位置。然后看图表。图表展示结果。图表直观。看图表理解主要内容。然后看结论。结论总结工作。结论说有什么贡献。结论说有什么不足。结论说未来做什么。
如果文章很重要,仔细读方法部分。方法部分讲怎么做实验。方法部分讲怎么推导。这部分很专业。这部分很详细。可能需要反复看。可能需要查资料。看完方法,看结果和讨论。结果展示数据。讨论解释数据。讨论比较其他工作。讨论说为什么好。
看论文要做笔记。笔记记重点。笔记记自己的想法。可以用笔记本。可以用软件。Zotero是一个软件。Mendeley也是一个。EndNote也是一个。软件可以管理文献。软件可以插入引文。写文章时方便。
文献不止一篇。很多文献相关。要读很多文献。这叫文献调研。文献调研要全面。找最早的文章。找最新的文章。找最重要的文章。找综述文章。综述文章总结一个领域。读综述可以快速了解。读了很多文献,脑中形成地图。知道谁做了什么。知道什么问题没解决。知道自己在哪。
现在说代码。研究计算机的人经常看代码。代码在GitHub上很多。GitLab也有。Bitbucket也有。代码库很多。找代码用搜索引擎。用GitHub搜索。找代码要用关键词。关键词可以是任务名称。关键词可以是方法名称。找到代码库。看README文件。README文件说明代码。README文件讲怎么安装。README文件讲怎么运行。README文件讲依赖什么。依赖是其他软件包。需要提前安装。
下载代码。解压缩。看目录结构。src目录放源代码。data目录放数据。docs目录放文档。scripts目录放脚本。配置文件很重要。配置文件设置参数。先试着运行代码。按照说明运行。运行成功,看到结果。运行失败,找问题。可能缺依赖。可能环境不对。可能路径错误。要调试。调试很花时间。
看懂代码更重要。代码是别人写的。风格不一样。逻辑可能复杂。从主程序开始看。主程序是入口。看主程序调用了什么函数。跟着函数看下去。看数据怎么流动。看输入是什么。看输出是什么。看关键函数。关键函数实现算法。算法是核心。有时要画流程图。画流程图帮助理解。有时要加打印语句。打印语句看变量值。
看代码和看论文结合。论文讲思路。代码实现思路。论文可能省略细节。代码有全部细节。对照着看,理解更深。论文里的公式,代码里要实现。看代码怎么实现公式。可能用循环。可能用矩阵运算。可能调用库函数。
工作中,保持记录。记录看了什么论文。记录论文的重点。记录代码的特点。记录遇到的问题。记录怎么解决的。记录自己的想法。记录可以帮助回忆。记录可以积累知识。
工具很重要。看PDF,用PDF阅读器。阅读器可以高亮。阅读器可以注释。看代码,用代码编辑器。VSCode很多人用。PyCharm用于Python。IDE有帮助。IDE可以跳转定义。IDE可以查找引用。版本控制用Git。Git管理代码修改。Git可以回退。Git可以分支。
时间管理很重要。看文献和代码很花时间。定一个计划。每天看一点。不要想一天看完。分阶段进行。先粗看,了解大概。再细看,深入细节。重要的部分多花时间。不重要的部分跳过。
和别人讨论。同事可以讨论。同学可以讨论。导师可以讨论。论坛可以提问。StackOverflow问编程问题。ResearchGate问学术问题。讨论得到新视角。讨论解决难题。
实践很重要。看懂了论文,试试复现。复现是重新实现。复现验证理解。复现发现问题。看懂了代码,试试修改。修改适应自己的任务。修改验证理解。动手做,学得牢。
保持耐心。看复杂的论文会烦。看复杂的代码会晕。这是正常的。休息一下。回来再看。一点一点啃。最终会弄明白。
知识是积累的。今天看一点。明天看一点。慢慢就懂了。懂的多了,速度就快了。刚开始慢,不要急。
查找资料有技巧。用好的搜索引擎。Google比较全。百度也可以。学术搜索用专门的数据库。引用文献可以找相关文章。一篇好文章,引用了其他好文章。被引用的文章也是好文章。顺着引用链条找。
代码库有版本。注意版本区别。有时最新版本不稳定。有时旧版本更兼容。看Issues部分。Issues记录问题。看别人遇到什么问题。看怎么解决的。看PullRequests。PullRequests是修改建议。有时有帮助。
写自己的代码时,借鉴别人的。借鉴不是抄袭。借鉴是学习思路。学习结构。学习好的写法。注明出处。尊重别人劳动。
看论文和代码是基础工作。做研究就需要这个。做开发也需要这个。这是学习的过程。这是工作的过程。没有捷径。认真做。坚持做。就会有效果。
英语很重要。很多好论文是英文的。很多代码注释是英文的。学好英语有帮助。专业词汇要记住。常见表述要熟悉。多看就习惯了。
身体健康也要注意。长时间看电脑,眼睛累。要休息眼睛。看看远处。活动身体。多喝水。保持好状态。
总之,看论文、文献和代码是常事。有方法。有工具。要耐心。要积累。要实践。要讨论。一步一步做。事情就能做好。