“6年的程序员还不会写委托”,问题在哪?

更多
2019年05月23日 11点09分 作者:叶飞 修改

天在QQ群闲聊,一位群友的话突然引起了我的兴趣,

还有个6年经验老手,委托都不会写,(吐血.jpg

于是我反问了一句:

为什么你会觉得6年老手就要会写委托呢?(坏笑.jpg

其实我经常看到这种说法,但本能的我就觉得不舒服。为什么呢?我仔细的想了想,可能这么几个原因。

首先,我自己就是个老码农,然后我自己知道自己其实很多东西都还不会(啊!崩了人设,是不是作死?)。我很怕有一天有人说:飞哥十年的老码农,XXX都还不会……这应该就是兔死狐悲吧?

好了好了,“自黑”就到此为止,接下来开始我的自我辩护。

我记得我有一个回答,面试前端工作7年以上的人,总感觉他们水平一般般?我的回答:

换一下,让他来面试你,你就知道他有多厉害了。

抖了下机灵,收获了180个赞。

这个回答第一个层次的解释可以是:你不能用别人刚好不熟悉的领域来判断一个人。

但我想挖得更深一点,为什么不能呢?!

我找了很久很久终于找到了,这几幅图,很可惜,原作者@itlr已经被知乎干掉了(我估计我迟早有一天也会被知乎干掉,ʅ(‾◡◝)ʃ):

很多人假设知识之间的关系是这样的:


而没有意识到,更多时候真实的关系是这样的:



甚至是这样的:



太特么一针见血了!

其实说:“xxxx还不知道/会xxxx”的人,他们潜意识里就认为知识结构是“金字塔”或者“阶梯”形状的,同时把你不会的那一个知识点放在了“基础”级上,进而再推论出:你基础的都不会,上面的自然更不会了。这对不对呢?只能说有时候对,有时候不对。

作为程序猿,理解这一点其实应该更容易,因为:

封装!

我不觉得6年的程序员不会写“委托”有什么问题,但我发现很多6年经验的程序员不懂得“封装”才是要命的。(好吧,夸张了一点,其实也没那么严重,只要能把功能实现一样可以领工资,不要命,O(∩_∩)O哈哈~)

假如我问:面向对象的封装是干嘛用的?我估计很多同学会回答public/private之类的……

但其实不是的,或者说,远不止于此。

封装的作用,是屏蔽细节,或者说屏蔽复杂度。简单的说,就是让你“没有基础”“不知道原理”一样可以干活。

我们可以想象,如果没有封装的话,在现代社会,从事一个任何职业,得有多累!因为任何事情,你都要从“基础”学起,要了解他的“原理”,天啊,一台汽车多少零部件多少力学原理,车间装配工人要了解这些怕是博士生都不够用。

我们程序开发人员也是一样的,至少软件就只管软件,别去关心硬件,这是一个最基本的隔离(封装)……别拽你学了计算机组成原理,USB2.0和3.0的区别说得清楚不?会造不?还有说什么数据结构和算法的,天天在用的MD5加密,算法怎么实现的,为什么不可逆你说得清楚不?你不知道,这不丢人,因为你也根本不需要知道。他们被封装好了,你只需要拿过来,直接使用它,完成你的工作就OK了,这一点不丢人。

我真不明白为什么程序员圈子里会有这么奇怪的一个文化:用别人封装好的东西就是丢人。每个人都想去造轮子,有必要么?看看现在前端造出来的那些铺天盖地、奇形怪状的轮子,不知道他们是怎么想的,我要是前端,我简直都要崩溃了。

我记得这种观点我以前说过?就不啰嗦了,其实我写这篇博客,是因为我被刺激了,因为QQ群里的这位网友问我:

你别告诉我你们培训不讲这个(委托)?那就太误人子弟了!

我本来是准备要讲一讲委托的,但他这么一说,我不由得想:我就不讲了又怎么的呢?所以我的回答是:

完全可以不讲啊!
直接lambda不行吗?

我觉得这个现象很矛盾:作为学员,

  • 一方面他们想学“最新的”技术,比如我培训的内容是http://ASP.NET MVC(我打算是Framework和core都讲的,甚至WebForm都会分出几个课时说一下),他们一定要问一问:“不是http://ASP.NETcore吗?”
  • 但另一方面,他们有很强调“基础”。比如这位同学就把“委托”当成了学习Lambda的基础,觉得不学委托,Lambda就学不会或者学不好……

你们说,飞哥该肿么办?

我觉得,很多同学,错误的理解了“基础”。比如说,委托不是Lambda的基础,委托只是Lambda“之前的”语法。

我的教学原则:当你理解当前的事物很困难的时候,如果其发展历史可以帮助你理解,我就会给你讲一讲它的历史;否则,没有太大的必要,甚至有可能会有副作用。比如我刚入行的时候,理解C#里面的“引用”,很多书籍资料都会提到“指针”——那时候我不知道“指针”啊,我理解“引用”都很困难了,你还给我搅一个“指针”进来,这不是把一个复杂的问题搞得更复杂了么?但是我在讲JavaScript的时候,讲了一下这门语言的“黑历史”,很多同学给我反映:茅塞顿开,原来如此……

差不多了,最后几句话:

委托的语法很简单啊,最多十分钟就学会了。
搞明白为什么要有委托、什么时候用委托才是最关键的!

要说基础,这才是基础;要说本事,这才是本事。

程序员
赞: 20 踩: 0

打赏
已收到打赏的 帮帮币

你的 打赏 非常重要!
为了保证文章的质量,每一篇文章的发布,都已经消耗了作者 1 枚 帮帮币
没有“帮帮币”,作者无法发布新的文章。

全系列阅读
评论 / 0
叶飞的系列文章

源栈培训:ASP.NET全栈开发

飞哥的源栈培训:线上全程直播,免费收看;线下拎包入住,按周计费。本系列收录所有讲义(含视频录播地址)

编程那些事:菜鸟入门

大飞哥倾力之作,面向有意入行IT/开发/编程的初学者,欢迎任何形式的留言建议……

从包工头到程序猿

真实故事,讲述我在家装公司关门之后,如何转行成为一个程序猿的故事。(《折腾》第三卷)

《折腾》(卷一)青涩

时间段:从大学毕业到开始创业。离开青葱校园,涉世之初的那些往事……

《折腾》(卷二)风雨 之(1)工地

我一个完全的门外汉(无论装修还是管理),开始给黎叔装修房子。从踌躅满志,到四处碰壁;从一往直前,到左右为难……

《折腾》(卷二)风雨 之(2)胸怀

作为一个律师,接工程没签合同,被狠狠的坑了一把!年轻人暴烈的想要复仇,黎叔教他一个企业家的胸怀……

《折腾》(卷二)风雨 之(3)渠道

成立了公司,招聘了员工,开始大力的拓展业务,一个接一个的坑,摔倒了又爬起来……

《折腾》(卷二)风雨 之(4)视野

经历残酷现实的磨砺,终于明白:干啥事,都不能闭门造车,人要走出去,开阔视野……

未分类

系统自动生成的未分类系列

一锅大杂烩

从律师到包工头,从码农到写手,读书交友生活创业,各种零零碎碎,乱七八糟……

人人都是程序猿

计算机编程普及课程,视频:https://space.bilibili.com/55410301/#/channel/detail?cid=49491

全部
关键字



帮助

反馈