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

news2025/7/22 22:15:30

接下来, 尼恩要带大家 完成一个 超级牛逼的 大厂offer 收割机项目—— 100Wqps 三级组件 实操,

实操中,用到 caffeine

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

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

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

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

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

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

在代码中编写一个TODO标记

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

在这里插入图片描述

关于 本文的代码,和技术问题, 请来尼恩 发起的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 高并发读的关键代码.*

关于 本文的代码,和技术问题, 请来尼恩 发起的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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/35570.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

Linux之service服务-实现程序脚本开机自启

一、什么是.service文件? Linux中.service文件是某项服务对应的配置文件,可用于systemd管理和控制的服务的设置。 .service 文件通常包含3个模块: [Unit] 控制单元,表示启动顺序和依赖关系。[Service] 服务,表示…

LeetCode HOT 100 —— 23.合并K个升序链表

题目 给你一个链表数组,每个链表都已经按升序排列。 请你将所有链表合并到一个升序链表中,返回合并后的链表。 思路 在做本题之前,先考虑一下,如何合并两个有序链表,见 21.合并两个有序链表 最直接的思路就是&am…

聊跨境:一年增长60%!人人都说跨境电商难做,但红利仍在(Starday)

随着经济全球化的发展,互联网的普及和跨境运输网络的日益发达,世界各国之间的贸易往来越来越频繁,跨境电商已然成为时代的主题。 近年来国家出口跨境电商利好政策的连续出台,加上《电商法》的保驾护航以及跨境电商从业者的积极推…

逻辑回归(logistic regression)

逻辑回归 一、假设函数 hθ(x)g(θTX)11e−θTX(Sigmoid函数)h_\theta(x) g(\theta^TX)\frac{1}{1e^{-\theta^TX}} \qquad \qquad \qquad (Sigmoid函数) hθ​(x)g(θTX)1e−θTX1​(Sigmoid函数) X取值范围是(−∞,∞)(-\infty, \infty)(−∞,∞) Y的取值范围是(0, 1) {θT…

基于FPGA的高速数据采集系统实现

欢迎订阅《FPGA学习入门100例教程》、《MATLAB学习入门100例教程》 目录 一、理论基础 二、核心程序 2.1锁存器模块 2.2双口地址计数器模块 2.3双口RAM模块 2.4时钟分频模块 三、测试结果 一、理论基础 高速数据采集在军用民用领域都有着广泛的应用。高速数据采集系统在…

了解计算机里非门组成的部分

计算机中有一块硬件不是完全由NAND门构成的。这并不是把电脑变成电脑的必要条件,但大多数电脑都有一些。它们被用来从模拟的东西变成数字的东西,或者从数字变成模拟的东西。 人类的眼睛和耳朵会对类似的事物做出反应。我们听到的东西可以是响亮的&#x…

LeetCode 513找树左下角的值 112路径总和113路径总和ii 106从中序与后序遍历序列构造二叉树

文章目录513找树左下角的值c 代码实现python 代码实现112路径总和c 代码实现python 代码实现113路径总和iic代码实现python 代码实现106从中序与后序遍历序列构造二叉树c代码实现python 代码实现513找树左下角的值 给定一个二叉树的 根节点 root,请找出该二叉树的 …

Java 基础(继承、接口、抽象)

面试题继承继承的特点super关键字继承中变量访问特点继承中构造访问特点为什么子类中所有构造方法默认都会访问父类无参构造方法。如果父类中没有无参构造继承中成员方法访问特点重写概述应用注意事项方法重写和重载有什么区别?静态代码块、构造代码块,构…

安泰测试-安捷伦N5182A射频矢量信号发生器

产品简介: 安捷伦N5182A信号源技术支持Agilent N5182A MXG 射频矢量信号发生器 N5182A主要特性与技术指标 信号表征 100 kHz ~ 3 或 6 GH 使用高度可靠、快速切换的电子衰减器,在 3 GHz 时 >23 dBm W-CDMA 动态范围:≤-73…

指纹浏览器功能对比:AdsPower VS Multilogin

近期,Conversion Club 发起了“最佳指纹浏览器”提名评选活动,AdsPower、Dolphin 和Multilogin 并列入选,成为国际认可的专业指纹浏览器。上期,龙哥出了一篇有关AdsPower与Dolphin 的对比文章,后台收到私信问能不能也出…

7位世界著名的制图师及其相关的地图介绍

制图是地图制作的艺术和科学,而作为制图师需要注意很多的细节,包括可视化数据以及地理的全面知识等。地图在每个人的生活中都发挥着一定的影响力,尤其是对于一些著名的制图师。本文将介绍7位世界著名的制图师及其相关的地图,让我们…

鸽群优化算法(Pigeon-inspired Optimization algorithm, PIO)附matlab代码

✅作者简介:热爱科研的Matlab仿真开发者,修心和技术同步精进,matlab项目合作可私信。 🍎个人主页:Matlab科研工作室 🍊个人信条:格物致知。 更多Matlab仿真内容点击👇 智能优化算法 …

【优雅至极】利用VSCode进行远程Linux服务器、容器开发,达到ide开发项目的效果

本文将介绍“局域网下远程ide式开发”、“公网下远程ide式开发”、“局域网下远程容器的ide式开发”、“公网下远程容器的ide式开发”这四种开发流程,让你无论在工位上还是在家中,都可以像打开本地ide那样进行远程的项目开发。 0 本地ide式开发 最方便…

自然排序与比较器排序的使用

1、自然排序:java.lang.Comparable Comparable 接口中只提供了一个方法: compareTo(Object obj) ,该方法的返回值是 int 。如果返回值为正数,则表示当前对象(调用该方法的对象)比 obj 对象“大”;反之“小”&#xff…

前端实现克里金插值分析(二)

作者:yangjunlin 在上一篇文章中我们已经使用了像素法实现克里金插值的方式,但是问题也就随之抛了出来。1.第一点,在反距离权重插值的时候,因为处理的数据量大会直接导致主线程卡,导致用户体验不好,2.第二点&#xff0…

Apache开启SSL(https)访问网站配置

前言:问题稍微有点绕,整个配置过程,测试成功 服务器的80端口分配了Apache使用了(用phpstudy运行php网站),服务器上还有(IIS网站,站点使用81端口),需要用80转81(中转代理一下到IIS访问网站,iis无需重复配置ssl设置) 就实现了:一台服务器使用2种语言(php/asp.ne…

闭环控制(自动控制理论)

目录 闭环控制 开环控制和闭环控制优缺点 闭环控制 即有被控制量反馈的控制。从系统中信号流向看,系统的输出信号沿反馈通道又回到系统的输入端,构成闭合通道,故称作为闭环控制系统,又或者称为反馈控制系统 这种控制方式&#xf…

微服务环境搭建SpringCloud入门

目录 案例准备 技术选型 模块设计 微服务调用 创建父工程 创建基础模块 创建用户微服务 创建商品微服务 创建订单微服务 我们本次是使用的电商项目中的商品、订单、用户为案例进行讲解。 案例准备 技术选型 maven:3.5.4 数据库:MySQL 5.7 持…

【矩阵论】4. 矩阵运算——广义逆——广义逆的计算

4.3.2 AA^A 计算 a. 秩1公式 若A(aij)mn,r(A)1,则A1∑∣aij∣2AH1tr(AHA)AH\begin{matrix} 若A(a_{ij})_{m\times n},r(A)1,则A^\frac{1}{\sum \vert a_{ij}\vert^2}A^H\frac{1}{tr(A^HA)}A^H \end{matrix} 若A(aij​)mn​,r(A)1,则A∑∣aij​∣21​AHtr(AHA)1​AH​ AHAA^HAA…

Qt Quick 用cmake怎么玩子项目

以往在公司开发众多的项目中,都会出现要求本项目里部分功能模块代码需要具备保密性。如果需要对外输出demo工程,那么需要做到不会泄密。 举一下爪子,以前做雷达开发的时候,客户从公司那儿买了这些雷达模块,也会需要从…