最近因为工作原因需要看大量历史代码,所以需要记录一些笔记。如果只是写注释的话,想复习的时候不能很快的找到,不能一目了然。但是又不想单独记录在笔记本里,因为很多代码都需要上下联系,并且在代码中可以方便跳转。便想到此问题。

需求

最初的想法是要实现像笔记本的功能(集中在一个地方,随时找到任何笔记,并跳到对应的代码中去),但找了一圈好像并不能满足我的需求。

整理了以下需求,再寻找什么方案能够尽可能多的覆盖这些需求。

  • 笔记可迁移
  • 尽量能跳转到原位置
  • 尽量能看到所有工程的笔记
  • 尽量不影响源代码
  • 注释随代码走,不是记录行数
  • 修改代码文件路径,仍然能正确读取

解决方案

CodeTour

CodeTour介绍-CSDN博客

  • 变化跟随
  • VScode专有插件
  • 笔记不能集中呈现

TODO

  • JetBrians自带TODO功能,VScode使用TODOTree插件实现
  • 可以集中

特殊注释标准

==TODO== 待办事项,写明还需待办的内容
==NOTEL== 标记,和#pragma mark效果相同
==FIXME== 需要修正,甚至代码是错误的,不能工作,需要修复
==!!!== 标示处代码需要注意
==BUG== 代码出问题了
??? 标示处代码有疑问
XXX 虽然实现了功能,但是实现的方法有待商榷,希望将来能改进
HACK 需要根据自己的需求去调整

CODE NOTE

IDEA插件代码笔记Code Note新版介绍及未来计划_哔哩哔哩_bilibili

优点:JetBrainsIDE插件,完成度较高。

缺点:需要付费,两种模式:

  1. 笔记跟随工程走
  2. 全局笔记,但是移动工程位置后就不能跳到对应代码了

所以,其实将不同工程里的笔记集中,并且能从笔记跳到对应代码这两件事本身就是冲突的,除非保证不移动代码本身所处的文件路径。

最终,选择使用TODO,虽然不能集中显示笔记,只有打开具体工程再查看其笔记了。