• 阅读源码时:idea中如何使用todo标记、活动模板 (史上最全)


    文章很长,而且持续更新,建议收藏起来,慢慢读!疯狂创客圈总目录 博客园版 为您奉上珍贵的学习资源 :

    • 免费赠送 :《尼恩Java面试宝典》持续更新+ 史上最全 + 面试必备 2000页+ 面试必备 + 大厂必备 +涨薪必备
    • 免费赠送 经典图书:《Java高并发核心编程(卷1)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
    • 免费赠送 经典图书:《Java高并发核心编程(卷2)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
    • 免费赠送 经典图书:《Java高并发核心编程(卷3)加强版》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
    • 免费赠送 经典图书:《尼恩Java面试宝典 V11》 面试必备 + 大厂必备 +涨薪必备 加尼恩免费领
    • 免费赠送 资源宝库: Java 必备 百度网盘资源大合集 价值>10000元 加尼恩领取

    接下来,尼恩要带大家 穿透式 、起底式的 学习 caffeine 的源码和架构

    caffeine 的源码 特别复杂, 所以要用到下面的技巧

    1:使用todo标记快速梳理和定位核心流程

    在日常开发中,使用todo标记能够让我们快速定位到未完成开发内容代码上,提高开发效率。

    在阅读 源码时, 比如阅读 超级牛逼的 组件 caffeine 的源码时,

    可以 先 梳理一下 核心流程 , 然后 使用todo标快速梳理和定位核心流程

    在代码中编写一个TODO标记

    // TODO 标记内容,这里只要是有TODO这个关键词,idea的TODO菜单就能查找到该标记。
    
    
    • 1
    • 2

    在这里插入图片描述

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    自定义一个TODO标签,并设置TODO过滤器

    在多人开发时,大家都可能编写TODO标签,用于 标记 没有完成的 任务

    为了快速找到源码中的 核心流程,可以借助TODO标签 来完成

    然后, 在梳理 一个场景的代码,或者梳理一个流程中的代码时,

    此时,你就要自定义一个TODO标签, 然后 ,在 导航 同一个流程的代码时, 使用一个和这个TODO标签相关的,一个特定的过滤器来筛选。

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    自定义TODO标签的过滤器

    设置TODO过滤器

    在多人开发时,大家都可能编写TODO标签,

    为了在TODO中快速查找自己的标签,那么你就要自定义一个TODO标签,使用过滤器来筛选。

    首先添加todo 的 文本匹配模式 和过滤器

    以下设置,在idea的seting–>editor-》TODO中

    在这里插入图片描述

    editor-》TODO中

    在这里插入图片描述

    或者自己在TODO菜单窗口的filter中选择edit filters进行设置

    在这里插入图片描述

    在这里插入图片描述

    edit filters

    在这里插入图片描述

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    定义过滤 pattens 模式

    在这里,你可以设置是否忽略大小,字体、颜色等等

    在这里插入图片描述

    pattens 模式 , 它就是两个正则表达式,

    "正则中“\b”是元字符代表着单词的开头或结尾,也就是单词的分界处。

    \b是正则表达式规定的一个特殊代码(好吧,某些人叫它元字符,metacharacter),代表着单词的开头或结尾,也就是单词的分界处。

    虽然通常英文的单词是由空格,标点符号或者换行来分隔的,但是\b并不匹配这些单词分隔字符中的任何一个,它只匹配一个位置”

    \btodo 高并发读的关键代码\b.
    
    该表达式单纯表达的意思就是匹配 :
    
    todo 高并发读的关键代码.*
    
    • 1
    • 2
    • 3
    • 4
    • 5

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    添加过滤器

    在这里插入图片描述

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    使用todo的过滤器

    写的TODO标签

    先在代码中,自己写的TODO标签了

    在这里插入图片描述

    添加过滤器

    在这里插入图片描述

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    在这里插入图片描述

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    然后你就可以在TODO的filter中选择自己的标签,就可以筛选了

    在这里插入图片描述

    阿里巴巴手册中关于TODO 标记的编写指南

    【参考】特殊注释标记,请注明标记人与标记时间。

    注意及时处理这些标记,通过标记扫描, 经常清理此类标记。

    线上故障有时候就是来源于这些标记处的代码。

    1) 待办事宜(TODO):( 标记人,标记时间,[预计处理时间]) 表示需要实现,但目前还未实现的功能。

    这实际上是一个 Javadoc 的标签,目前的 Javadoc 还没有实现,但已经被广泛使用。

    只能应用于类,接口和方法(因为它是一个 Javadoc 标签)。

    2) 错误,不能工作(FIXME):

    (标记人,标记时间,[预计处理时间]) 在注释中用 FIXME 标记某代码是错误的,而且不能工作,需要及时纠正的情况

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    2 自定义代码活动模板

    为了方便打出TODO,可以编写一个live Templater,快速打出TODO-wn类似的标签

    创建todo 的代码模板

    按照下图创建模板,内容如下,这里创建的是 tdgbfd 生成模板,

    在这里插入图片描述

    使用自带函数赋值

    这里的$DATE$使用edit variables调用自带函数赋值,还可以使用好多其他函数,如date()……等等。

    在这里插入图片描述

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    3:使用UML查看类的关系

    生产UML图

    在这里插入图片描述

    查看 父子继承关系

    在这里插入图片描述

    关于 本文的代码,和技术问题, 请来尼恩 发起的3高架构社群 疯狂创客圈 社群交流 ,

    参考文献

    1. 疯狂创客圈 JAVA 高并发 总目录
      https://www.cnblogs.com/crazymakercircle/p/9904544.html
      ThreadLocal(史上最全)
      https://www.cnblogs.com/crazymakercircle/p/14491965.html
    2. 3000页《尼恩 Java 面试宝典 》的 35个面试专题 :
      https://www.cnblogs.com/crazymakercircle/p/13917138.html
    3. 价值10W的架构师知识图谱
      https://www.processon.com/view/link/60fb9421637689719d246739

    4、架构师哲学
    https://www.processon.com/view/link/616f801963768961e9d9aec8

    5、尼恩 3高架构知识宇宙
    https://www.processon.com/view/link/635097d2e0b34d40be778ab4

    Kotlin 1.4 现已发布,专注于质量和性能 – Kotlin Blog | JetBrains Kotlin官网.2020-08-17[引用日期2020-08-29]

    6 Kotlin Programming Language .Kotlin[引用日期2018-02-02]

    7 基于JVM的编程语言 Kotlin .开源社区网[引用日期2012-08-16]

    8 IDEA下搭建Kotlin环境 .CSDN[引用日期2020-07-09]

    9 Eclipse下搭建Kotlin开发环境 .CSDN.2016-02-18[引用日期2017-11-15]

    10 Kotlin Programming Language .Kotlin语言官网[引用日期2021-02-22]

    https://www.zhangshilong.cn/work/24556.html

    https://blog.csdn.net/qq_41895810/article/details/120042035

    https://blog.csdn.net/shuair/article/details/107319204

    https://www.cnblogs.com/albertdale/p/14939529.html

    https://blog.csdn.net/ywb201314/article/details/125716928

    https://blog.csdn.net/qq_23085893/article/details/79633934

  • 相关阅读:
    如何恢复回收站删除的文件?
    一文读懂K-Means原理与Python实现
    25 - 单例模式:如何创建单一对象优化系统性能?
    Selenium操控元素
    贴近摄影测量 | 重建花山岩画只需两步!
    1网络模型
    Java 8实战(四)- Lambda类型推断与方法引用
    数据仓库与数据挖掘(实验一2024.4.24)
    css心跳动画
    Windows 10 安装 Redis
  • 原文地址:https://blog.csdn.net/crazymakercircle/article/details/128045107