背景在我们日常工作中,代码写着写着就出现下列的一些臭味。但是还好我们有SOLID这把‘尺子’,可以拿着它不断去衡量我们写的代码,除去代码臭味。这就是我们要学习SOLID原则的原因所在。设计的臭味僵化性具有联动性,动一处,会牵连到其他地方脆弱性不敢改动,动一处,全局瘫痪顽固性不易改动粘滞性耦合性太高不必要的复杂性代码设计过于复杂不必要的重复提高复用性,减少重复晦涩性代码设计不易理解SRP-单一职责原则一个类只做一件事情。当然一件事情,不是说类中只有一个方法。而是类中的方法都是属于同一种职责。不能因为第二职责的原因去改动这个类。一个很好的例子:在我们封装request库时,我们需要实现以下4个方法
1、你还有收到其他offer吗?其实hr问你offer情况,是对你感兴趣,想要进一步了解你,看下你的市场竞争力。但注意不要太坦诚的说:我还没有offer或者收到两个offer还想对比对比;也不要撒谎没有offer说有offer。可以分有offer跟没offer两种情况来回答。1.有offer:我确实收到了两个offer,薪资待遇也达到了我的预期,但是求职需谨慎,除了薪资待遇之外,我也想从行业前景,平台机会,个人发展做综合选择,之所以选择来贵司面试,也是因为非常认可贵司的平台,很期待有机会一起共事。2.无offer:我是本周才开始看工作机会的,目前还有两家公司也约了面试,和您聊过之后,感觉贵司的
1、你还有收到其他offer吗?其实hr问你offer情况,是对你感兴趣,想要进一步了解你,看下你的市场竞争力。但注意不要太坦诚的说:我还没有offer或者收到两个offer还想对比对比;也不要撒谎没有offer说有offer。可以分有offer跟没offer两种情况来回答。1.有offer:我确实收到了两个offer,薪资待遇也达到了我的预期,但是求职需谨慎,除了薪资待遇之外,我也想从行业前景,平台机会,个人发展做综合选择,之所以选择来贵司面试,也是因为非常认可贵司的平台,很期待有机会一起共事。2.无offer:我是本周才开始看工作机会的,目前还有两家公司也约了面试,和您聊过之后,感觉贵司的
前言软件开发模型是指软件开发全部过程、活动和任务的结构框架。一般包括需求、设计、编码和测试等阶段,甚至包括维护阶段。软件开发模型明确规定了软件开发过程中要完成的主要活动和任务,用来指导整个开发过程中的工作。对于不同的系统,可依据软件的特点、项目成员的参与方式选择不同的软件开发模型。作为测试工程师,测试的工作内容与软件开发模型紧密相关,不同的开发模型中,测试的任务和作用也会不同。以下,给大家介绍几种常见的开发模型。1、瀑布模型瀑布模型作为最早出现的软件开发模型,提供了软件开发的基本框架,为后续出现的开发模型奠定了基础。从1970年被温斯顿·罗伊斯(WinstonRoyce)提出后,直到80年代早
前言软件开发模型是指软件开发全部过程、活动和任务的结构框架。一般包括需求、设计、编码和测试等阶段,甚至包括维护阶段。软件开发模型明确规定了软件开发过程中要完成的主要活动和任务,用来指导整个开发过程中的工作。对于不同的系统,可依据软件的特点、项目成员的参与方式选择不同的软件开发模型。作为测试工程师,测试的工作内容与软件开发模型紧密相关,不同的开发模型中,测试的任务和作用也会不同。以下,给大家介绍几种常见的开发模型。1、瀑布模型瀑布模型作为最早出现的软件开发模型,提供了软件开发的基本框架,为后续出现的开发模型奠定了基础。从1970年被温斯顿·罗伊斯(WinstonRoyce)提出后,直到80年代早
本文作者:DanielHu个人主页:https://www.danielhu.cn/目录一、前因二、记忆三、他们说……3.1、Atlassian回答“什么是DevOps?”3.2、微软回答“什么是DevOps?”3.3、AWS回答“什么是DevOps?”四、DevOps文化4.1、什么是文化?4.2、什么是DevOps文化?4.3、领导与激励五、总结一、前因我是一个“DevOps工程师”,于是总会遇到有人问我:“什么是DevOps?”这个问题看似特别基础,基础到很多人懒得回答。但其实冷静一秒,问自己一句“什么是DevOps?”可能每个DevOps工程师都知道“什么是DevOps”,但是他们给出
本文作者:DanielHu个人主页:https://www.danielhu.cn/目录一、前因二、记忆三、他们说……3.1、Atlassian回答“什么是DevOps?”3.2、微软回答“什么是DevOps?”3.3、AWS回答“什么是DevOps?”四、DevOps文化4.1、什么是文化?4.2、什么是DevOps文化?4.3、领导与激励五、总结一、前因我是一个“DevOps工程师”,于是总会遇到有人问我:“什么是DevOps?”这个问题看似特别基础,基础到很多人懒得回答。但其实冷静一秒,问自己一句“什么是DevOps?”可能每个DevOps工程师都知道“什么是DevOps”,但是他们给出
一、介绍在介绍MongoDB之前,我先介绍一下业务开发的时候遇到的痛点,以便大家对它有一个更加清晰的认识!最近在用数据库存储数据的时候发现这么一个坑,例如从消息队列中监听消息的时候,原来的做法是将监听的消息数据存储在数据库,以便好对异常消息数据进行追溯,消息内容使用text类型存储,起初因为数据内容很短,没啥毛病,但是当随着业务的扩展,收到的消息内容越来越长,最后发现数据库中的text字段类型无法很好的支持查询,于是在这个时候,就开始考虑采用更加合适的数据库来存储这种消息数据!在经过一番讨论之后,对于这种json类型的消息数据的存储,大家一致认为采用MongoDB是最佳的选择!据官方介绍,Mo
一、介绍在介绍MongoDB之前,我先介绍一下业务开发的时候遇到的痛点,以便大家对它有一个更加清晰的认识!最近在用数据库存储数据的时候发现这么一个坑,例如从消息队列中监听消息的时候,原来的做法是将监听的消息数据存储在数据库,以便好对异常消息数据进行追溯,消息内容使用text类型存储,起初因为数据内容很短,没啥毛病,但是当随着业务的扩展,收到的消息内容越来越长,最后发现数据库中的text字段类型无法很好的支持查询,于是在这个时候,就开始考虑采用更加合适的数据库来存储这种消息数据!在经过一番讨论之后,对于这种json类型的消息数据的存储,大家一致认为采用MongoDB是最佳的选择!据官方介绍,Mo
1.http的发展史在学习网络之前,了解它的历史能够帮助我们明白为何它会发展为如今这个样子,引发探究网络的兴趣。下面的这张图片就展示了“互联网”诞生至今的发展历程。2.http是什么?HyperTextTransferProtocol 直译为‘超文本传输协议'超文本:指文字、图片、视频、音频等的混合体,比如最熟悉的html。传输:http是一个“双向协议”,传输的是请求方和响应方之间的数据,不限制请求方和响应方之间的角色,传递的过程中可以存在任意“中间人”。协议:协是两个或多个参与者之间的交流,议是指对参与者之间的约定和规范。所以,http协议可以理解为作用在计算机之间,使用计算机能够理解的语