左耳听风 第十八周

左耳听风 第十八周

每周完成一个ARTS: 每周至少做一个 leetcode 的算法题、阅读并点评至少一篇英文技术文章、学习至少一个技术技巧、分享一篇有观点和思考的技术文章。(也就是 Algorithm、Review、Tip、Share 简称ARTS)

Algorithm

针对「栈」的知识点进行了一些练习
LeetCode 20. 有效的括号
LeetCode 739. 每日温度
LeetCode 921. 使括号有效的最少添加

review

SOLID Principles every Developer Should Know

「 每个开发人员都应知道的 SOLID 原则」。 SOLID 是面向对象设计 5 个原则的缩写:

1、S: Single Responsibility Principle。单一责任原则。即每一个类所负责的应当是某一个功能的实现,如果一个类中出现了超过 1 个的责任时,就应考虑分解这个类的责任。这也符合软件工程所提倡的「低耦合,高聚合」(耦合指模块内部应该职责同一,非共同职责的功能不应放在同一模块。聚合指的是模块之间,彼此相互联系)。

2、O: Open-Closed Principle。开闭原则。即对扩展开放,对修改闭合。对于类、模块、方法等我们应该更多的提高其可拓展性,而非不断的因新数据的出现而修改。(对应着面向对象的「继承」)

3、L: Liskov Substitution Principle。里式替换原则。子类和父类之间应当对应 「is a」关系,即子类一定是父类中的成员,对于子类中都需要实现却彼此不同的功能,可以抽象到父类中形成抽象方法。

4、I: Interface Segregation Principle。接口分离原则。不应强制一个类实现接口中不使用的方法。即多个专用接口胜过一个聚合功能的端口。

5、D: Dependency Inversion Principle。依赖倒置原则。高层模块不应依赖底层模块,二者都应依赖于抽象。抽象不依赖于细节,细节依赖抽象。

对于每一个原则作者都有详细的例子解释,结合编程语言中的抽象、继承、封装、多态、接口,会有更深刻的理解。

Tip

分享一个 《 Java 核心卷 1 》中提到的注释抽取方法

通过/** */ 文档注释,在注释中采用 @author 、 @version 、@since 、 @see 等标记注释类或者方法

通过 javadoc -d docDirectory nameOfPackge 或者 javadoc -d docDirectory *.java 可以将整个包(文件夹)文件注释提取成一个 packge.html 命名的文件,只要单个文件的注释写的规范,提取出的注释文档就可以很清晰的描述出包文件各个功能模块的作用,工作交接也可以减少一些交流成本。

share

简单了解栈 2

继续完成数据结构学习的总结思考,在文章中分别用链表、数组模拟了栈的操作,同时分享了对于「栈内元素排序」这道常见的栈面试常考题的思路和解答

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值