新技术、成为一个大家愿意跟随的Leader、程序错误处理

好了,这是本系列笔记分享的第二篇。本期分享三个大方向,新技术、如何成为一个大家愿意跟随的Leader、程序中的错误处理,废话不多说,下面进入主题。

四、新技术

新技术、成为一个大家愿意跟随的Leader、程序错误处理

这里先问大家两个扎心的问题吧。

你有多久没学习过一门新的编程语言了?

如果需要你换一门语言来开始工作,你内心是否非常抗拒?

相信大家的答案和我都是一样的,就目前很多工作中的程序员来讲,他们很难再去学习一门新的语言,其实就是没有开放的心态来接纳新的技术,包括我之前也是这样。看了这左耳的这几篇课程,改变了我很多的想法,更多的对学习新技术有了很大的热情,希望通过这次分享也能给你有同样的热情。

新技术、成为一个大家愿意跟随的Leader、程序错误处理

 

1.Go语言

关于Go语言的介绍我在这里就不过多赘述了,因为这些相关资料在各大搜索引擎都能搜索到。

关于Go的发展和重要性是可以明显的感觉到的,这几年来关于PasS平台、分布式、微服务等等这些技术术语相信只要是做后端开发的小伙伴都会听过,或许你正在做这方面的相关开发,可以说成为了现在各大中小企业的主流开发技术,而这些技术背后很多底层支撑的基础设施或多或少都能看到Go语言的影子,比如容器化技术Docker正是Go语言的杀手级应用,还有一些消息中间件等等。从这些方面能看得出来Go语言必然会成为下一个关键技术。

2.Docker

Docker作为Go的杀手级应用,其重要性不言而喻,它是作为云计算中 PaaS 的关键技术,现在在各大企业都有应用,目前我也是在学习Docker中,也建议大家有时间去接触一下,为未来的工作机会做积累和铺垫。

 

五、如何成为一个大家愿意跟随的Leader

新技术、成为一个大家愿意跟随的Leader、程序错误处理

 

相信大家在工作中都会想成为带领团队的Leader,一个团队的Leader是非常重要的。Leader的作用是影响团队成员,Leader的风格也体现团队的风格,判断一个团队的凝聚力强不强,主要看这个Leader是否被大家愿意跟随。

新技术、成为一个大家愿意跟随的Leader、程序错误处理

 

1.Boss和Leader的区别

关于Boss和Leader和区别,这里用一张图说明。

新技术、成为一个大家愿意跟随的Leader、程序错误处理

 

2.成为一个大家跟随的Leader

要成为一个大件愿意跟随的Leader需要做到以下的九点:

帮人解决问题

能成为Leader的一个重要指标就是看这个人能否帮他人解决问题,作为Leader帮人解决问题实际上就是解决团队的问题。我认为Leader的工作应该有70%是解决团队中各种各样的问题的,而不是自己撅着屁股去干活。

被人依赖

团队或身边大多数人在做比较关键的决定时,都会来找你咨询意见和想法。要有这样的现象,你需要有技术领导力。

赢得他人的信任

信任是人类一切活动的基础,人与人之间的关系是否好,完全都是基于信任的。对于信任来说,并不完全是别人相信你能做到某个事,还有别人愿意向你打开心扉,和你说他心里面最柔软的东西。而后者才是真正的信任。这还需要你的人格魅力,你的真诚,你的可信,你的价值观和你的情怀等一些诸多因素,才会让别人愿意找你分享心中的想法和情绪。

开放的心态 + 倾向性的价值观

对新生事物和每个人的观点要有开放的心态,但要有自己的判断,有自己的坚持和倾向,而不是对所有的事物和观点都采纳

Lead by Example

需要亲自做示范,那就需要终身写代码。示范的作用很强大,既能展示你的技术领导力,也能展示你的人格魅力。

保持热情和冲劲

在这个世界上,有太多太多的东西会让人产生沮丧、不满、彷徨、迷茫、疲惫等这些负面情绪,但是几乎所有的人都不会喜欢在这样的情绪中生活,我们每个人都会去追求更为积极更为正面的生活方式。所以,作为一个 Leader 无论在什么情况下,你都需要保持热情和冲劲,只有这样,你才会让别人有跟随的想法和冲动。

这需要锻炼你的情商。

能够抓住重点,看透事物的本质

这个世界太复杂,有太多的因素和杂音影响着我们的判断和决定。绝大多数人都会在多重因素中迷失或是纠结。作为一个 Leader,能够抓住主要矛盾,看清事物的本质,给出清楚的观点或方向,简化复杂的事情,传道解惑、开启民智,让人豁然开朗、醍醐灌顶,才会让人追随之。

描绘令人激动的方向,提供令人向往的环境

我相信,我们每个人心中都有激动和理想,就算是被现实摧残得最凶残的人,他们已经忘却了心中那些曾经的激动和理想,但我相信也只是暂时的。一个好的 Leader 一定会把每个人心中最真善美的东西呼唤出来,并且还能让人相信这是有机会有可能做到的。

甘当铺路石,为他人创造机会

别人愿意跟随你,愿意和你共事,有一部分原因是你能够给别人带来更多的可能性和机会,别人觉得和你在一起能够成长,能够进步,你能够带着大家到达更远的地方。帮助别人其实就是帮助自己,成就他人其实也是在成就自己,这就像一个好的足球队一样,球队中的人都互相给队友创造机会,整个团队成功了,球队的每个人也就成功了。作为一个好的 Leader,你一定要在团队中创造好这样的文化和风气。

六、程序中的错误处理

新技术、成为一个大家愿意跟随的Leader、程序错误处理

 

相信大家在写程序的过程中一定会遇到程序错误,正所谓无bug不程序,对于程序错误的处理也是我们程序员的一门必修课。

新技术、成为一个大家愿意跟随的Leader、程序错误处理

 

1.同步执行下的错误处理方式

一、返回错误码

利用返回值+errno的方式来解决。

这种处理方式带来的问题是:

①程序员一不小心就会忘记对返回值的检查,从而造成代码的 Bug;

②函数接口非常不纯洁,正常值和错误值混淆在一起,导致语义有问题。

使用多返回值来处理,比如Go语言,函数会返回两个参数,一个result和一个err, err支持自定义,这里的问题是需要写大量的if判断语句。

二、使用异常捕捉(目前最好的方式)

try - catch - finally 这个编程范式

2.程序错误的三种类型

资源的错误。当我们的代码去请求一些资源时导致的错误,比如打开一个没有权限的文件,写文件时出现的写错误,发送文件到网络端发现网络故障的错误,等等。这一类错误属于程序运行环境的问题。对于这类错误,有的我们可以处理,有的我们则无法处理。比如,内存耗尽、栈溢出或是一些程序运行时关键性资源不能满足等等这些情况,我们只能停止运行,甚至退出整个程序。

程序的错误。比如:空指针、非法参数等。这类是我们自己程序的错误,我们要记录下来,写入日志,最好触发监控系统报警。

用户的错误。比如:Bad Request、Bad Format 等这类由用户不合法输入带来的错误。这类错误基本上是在用户的 API 层上出现的问题。比如,解析一个 XML 或 JSON 文件,或是用户输入的字段不合法之类的。对于这类问题,我们需要向用户端报错,让用户自己处理修正他们的输入或操作。然后,我们正常执行,但是需要做统计,统计相应的错误率,这样有利于我们改善软件或是侦测是否有恶意的用户请求。

综合目前程序错误的三种分类我们可以总结对于程序错误的处理方式:

对于我们并不期望会发生的事,我们可以使用异常捕捉;

对于我们觉得可能会发生的事,使用返回码。

3.异步并行下的错误处理方式

使用 Promise 模式处理错误。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章