本文聚焦implements与extends的区别,这样有益于高效准确的使用

implements与extends的定位

implements

顾名思义,实现,一个新的类,从父类或者接口实现所有的属性和方法,同时可以重写属性和方法,包含一些新的功能

extends

阅读全文 »

最近将重构(第2版)看完了,作为曾经的TWer,我司大佬出的书,不看确实不大好意思。

不得不说这本书写的太好了。好在书中提到的重构面临的问题及重构的解决方案与自己在不断编程,做项目中体会到的有很多共鸣点,同时通过阅读这本书,也学到了很多的经验点。

我想这就是好书,就是真切感受到书中所提到的点都是来自于一线的经验总结,而非假大空。

观点摘录

书中的一些观点和手法,细品,对于实际的编程有很高的参考和学习价值。比如下面的一些

阅读全文 »

利器需要打磨,同时也需要更新换代。临近过年,盘点下19年入手及调整的利器【包含软硬】,梳理下当前的功能点,及通过调整实现的增强点。

Mark同时,兴许能帮助道友一二。

HomePod

4月份购买了HomePod,购买的直接冲动是看了Apple推出的广告欢迎回家,没招,Apple的广告做的永远让你觉得真棒,之前的AirPods广告-,漫步也是。

阅读全文 »

之前利用公司的nexus发布了一些公司级的UI组件库,最近希望能够将自己在项目中总结的TSRules发布到源上,因为不止希望公司项目能够使用,所以决定进行npmjs托管。

这里记录下发布过程

发布步骤

npmjs账户注册

简单略过

GitHub托管

阅读全文 »

新年伊始,我也开始了麻烦的美签办理流程,从1月6号开始着手准备资料到1月15日拿到护照,过程还是很顺利的,这里记录下注意事项及坑,兴许能够帮到些人。

我这里是因公出差,所以算是商签,但最后拿到的签证是B1/B2的。

整体需要准备

必须要有

阅读全文 »

前端代码里对于逻辑判断是常量在前还是变量在前,个人一直没有定论。没有定论的结果就是没有标准,没有标准的结果就是程序代码中两种风格并存,个人觉得很不爽。于是就在网上搜索资料,偶然发现有个说法叫尤达表达式,似乎答案就在这块,于是就有了下文。

尤达表达式?

尤达表达式是计算机编程中的一种风格,其中表达式的两个部分与条件语句中的典型顺序相反。这种风格的命名,来源于星球大战的一个角色,绝地大师尤达(Yoda)。剧中,该角色喜欢以颠倒的语序说英语。比如“当九百岁你活到,看起来很好你将不”。  

例子

1
2
3
4
5
6
7

if ( $value == 42 ) { /* ... */ }
// Reads like: "If the value is equal to 42..."

// 尤达表达式
if ( 42 == $value ) { /* ... */ }
// Reads like: "If 42 equals the value..."
阅读全文 »

Package.json中有依赖和开发依赖,但这些依赖都统称为直接依赖,而我们依赖的包本身也可能再依赖一些包,那这些依赖的包版本是如何管理的呢,并且当我们项目直接依赖了A 1.x,而间接包依赖了A 2.x,最终我们是安装的1.x还是2.x呢?

答案

实际上,两个版本会并存,package.json中记录的是棵依赖树,对应node_modules下的存储也如此。

举个例子,项目中依赖了@types/react,而依赖的@types/react-router-dom间接依赖了`@types/react``

阅读全文 »

关于Unknown的详细具体介绍,文末推荐的文章已是最好,这里不再啰嗦。文章只说下两个类型的根本区别。

any是顶级类型,但弊端就是滥用这个类型,实际上就丧失了类型安全,unknown是为了弥补这个问题。

so。any类型安全为无,而unknown在具体使用时会很严格。

阅读全文 »

严格来说,这篇文章晚了一天,对19年的自己说声抱歉。

物理年龄改变不了,但奋斗的心依然炙热,毕竟这是自己所热衷的职业。

上半年

2月-6月,一直停留在做一个交付-企业级项目A,整个的技术栈是【React,Spring Boot,MongoDB等】。项目中我扮演的是个基本的开发,主力去做前端开发,但部分后端任务也会去做。

这个项目的挑战是:与N个系统的集成,协作。

阅读全文 »

Team在制定API时,有时很纠结要不要区分Put与Patch。既然纠结,那就搞明白。

图片源自这里

Put VS Patch

Put

阅读全文 »
0%