接下来, 尼恩要带大家 完成一个 超级牛逼的 大厂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高架构社群 疯狂创客圈 社群交流 ,
参考文献
- 疯狂创客圈 JAVA 高并发 总目录
https://www.cnblogs.com/crazymakercircle/p/9904544.html
ThreadLocal(史上最全)
https://www.cnblogs.com/crazymakercircle/p/14491965.html - 3000页《尼恩 Java 面试宝典 》的 35个面试专题 :
https://www.cnblogs.com/crazymakercircle/p/13917138.html - 价值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.cnblogs.com/crazymakercircle/p/16926474.html