作者:小傅哥
博客:https://bugstack.cn
沉淀、分享、成长,让自己和他人都能有所收获!😄
🤔有个词叫内卷严重!
最开始听到这个词是有个小伙伴在我的一篇HashMap源码分析文章下的留言:“哥们,你这叫内卷!”。这篇文章深度解释了扰动函数、负载因子以及相关数学方式的结果验证,有兴趣的可以跳过去阅读。《HashMap核心知识,扰动函数、负载因子、扩容链表拆分,深度学习》
那什么叫内卷呢,乍一看这词还是有点新的。其实内卷化来自单词 involution
,也可以称作“过密化”。这样就好解释了,比如;
这些都可以解释为过密化带来的内卷严重问题,但好在这些都在不断的优化完善。
🤒程序员也有内卷?!
其实大部分时候大家说的程序员内卷,指的是面试造火箭,求职越来越难。
其实从某种角度来说,我个人是不太认可说程序员有内卷的。就整个行业来看,程序员的工作就业情况和薪资待遇都是不错的。有人会觉得面试还得刷题、学源码、看框架、懂架构等等,可这些难道不应该是你做成程序员职业发展道路上,必经的突破吗?
可能每个人都会在某个时期感觉自己一直处于瓶颈期,做着重复的事情、码着CRUD的逻辑、接触不到核心的技术等等,都会猛的瞬间觉得自己快狒狒了。那这样的你似乎只能用内卷这个词让自己内心平衡了,试问自己,你对自己投入过学习成长的时间吗?你有计划破局突破自己的瓶颈吗?如果没有那不叫内卷!
谢飞机,小记
,假期回来上班的一周的🛩飞机,被组长安排了一次项目成长分享。
小组长:飞机,你分享的项目中,核心模块要给大家讲清楚。这块蛮有技术点的!
谢飞机:嗯嗯,我也在想怎么能让大家听懂。
小组长:最好借助一些工具,把代码逻辑、功能流程,通过图的方式表达出来。
谢飞机:流程图我会画了,但是这里的核心功能类,我还不知道怎么弄。
小组长:咳咳,用UML类图哇,把核心类体现出来。
谢飞机:...,没画过,我内卷了吗?
小组长:不要脸!等我画点资料,教你!
UML(Unified Modeling Language),是一种面向对象设计的建模工具,建模的核心是模型,模型是现实的简化、真实的抽象。
在 UML 中,所有的描述包括:事务、关系、图这三部分构件组成,如下图为所有构件的关系。
接下来,我们就着重讲解UML中的类图关系,在乡村爱情人物里的体现。
UML 类图(Class Diagrams),是使用频率最高的 UML 图之一,类图可以表示出类、接口和它们之间的协作关系。各个接口、类、属性、方法,可以用如下方式表达。
代码
public class 谢广坤 { private String 辈分; public void 作妖(){} } public class 谢永强 extends 谢广坤 { } public class 谢飞机 extends 谢广坤 { }
类图
代码
public interface 舞术 { void 招式(); } public class 刘能 implements 舞术 { private String 来将姓名; public void 招式() { } } public class 赵四 implements 舞术 { private String 来将姓名; public void 招式() { } }
类图
代码
public class 结婚证 { private 赵玉田 男方; private 刘英 女方; public void set男方(赵玉田 男方) { this.男方 = 男方; } public void set女方(刘英 女方) { this.女方 = 女方; } } public class 赵玉田 { private int 年龄; private String 性别; } public class 刘英 { private int 年龄; private int 性别; }
类图
代码
public class 山庄 { private 宋晓峰 晓峰; private 李宝库 宝库; public void 药膳房(李宝库 宝库) { this.宝库 = 宝库; } public void 保安部(宋晓峰 晓峰) { this.晓峰 = 晓峰; } } public class 李宝库 { private String 职业; } public class 宋晓峰 { private String 职业; }
类图
代码
public class 豆腐厂 { private 王小蒙 员工; public void 添加员工(王小蒙 小蒙){ this.员工 = 小蒙; } } public class 王小蒙 { private 豆腐厂 企业; public void 添加企业(豆腐厂 豆腐厂){ this.企业 = 豆腐厂; } }
类图
代码
public class 招商引资 { public void 招商(王大拿 大拿){ } } public class 王大拿 { private String 资源; }
类图
综上,这6种关系里,组合、聚合、关联代码结构类似,可以从依赖的强弱进行理解。强弱关系依次是:继承 > 实现 > 组合 > 聚合 > 关联 > 依赖。
为了更清楚的表达出 UML 类关系,我们把这些画到一整张图中,如下;