首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

您想成为哪种类型的编程大师?

当能力达到顶峰时,

会有两极分化。

您是哪一种?

当您刚刚学习技术时,特别在编程行业,您是不知道将来的发展情况的。编程是一门大类,有着不同的编程语言和不同的程序员。但是,并非所有人都是大师,只有少数人可以得此殊荣。

通常,有两种类型的编程大师。

第一类工程师

对于一个复杂的程序,例如7个局部变量,5个循环层以及if嵌套,他可以赤手空拳地迅速了解程序意图、来修复漏洞,甚至不需要任何工具以及纸笔。

给出一个复杂的问题,可以在一个函数中完成,并立即给出正确的实现。该函数可能具有七个变量,5层循环以及if嵌套。没有废话,简洁到极致的代码就能解决,但是单个函数的复杂度很高,而且普通人可能看老半天才能理解。

////

///

//

第二类工程师

对于一个复杂的程序,例如7个局部变量,5个循环层以及if嵌套,他无法立即看出程序的意图,但他可以使用纸笔进行书写绘图,最后解决它。

提出一个复杂的问题,需要花费很长时间来解决。通常通过组合几个功能来实现。这些函数功能单一且清晰,通常是一个或两个变量,循环嵌套不超过2层。单个函数的复杂度很低,因此大多数人都可以轻松理解它。

////

///

//

两类工程师有什么区别?

第一类的软件工程师天生就很聪明,他们处理复杂事物的能力是与生俱来的。

根据认知负载理论,这些人的工作记忆能力超过了普通人。他们可以将多种因素整合到大脑中进行思考,而不会造成大脑超负荷。他们编写复杂的程序,普通人会觉得没有分而治之的编程风格。事实是他们的脑子太好了,以至于普通人为了克服认知超负荷而发明的编程方法,对他们来说完全就是多余的。

当面对更复杂的问题时,他们自然会逐步解决。缺点是他们没有刻意训练,他们根据自己的认知能力编写的程序对于普通人来说很难维护。

第二类工程师是具有正常才能的正常人。工作记忆的容量可能是少了很多。但是他们已经掌握了认知负载的解决方案。当阅读复杂的代码时,他们用纸和笔写下对小片段的分析,避免大脑缓冲太多的东西,然后分析这些问题的中间结果,始终让大脑不会负载太多的东西。

编写代码时,他们无法一次找出所有细节,因此需要分步进行,或者可以一步一步地实现关键步骤,然后集成整个解决方案。或者编写一个庞大而完整的框架,然后拆分实施细节。编写完后,经常会发现有些不完美,因此必须对其进行调整。

其特点是,无论采用哪种方法,大脑在任何阶段都不会超负荷。以这种方式编写的代码,也不会使读者的大脑负担过多。

////

///

//

团队需求

对于团队而言,我们希望工程师具有第一位工程师的天赋,与此同时,也希望编写出的代码应该与第二类工程师一样容易理解。

尤其值得关注的是第三类工程师,他们缺乏第一类工程师的才能,也没有掌握第二类工程师的技能,并且经常自己被自己编写的代码弄晕。

end.

  • 发表于:
  • 原文链接https://kuaibao.qq.com/s/20191025A0Q3FK00?refer=cp_1026
  • 腾讯「腾讯云开发者社区」是腾讯内容开放平台帐号(企鹅号)传播渠道之一,根据《腾讯内容开放平台服务协议》转载发布内容。
  • 如有侵权,请联系 cloudcommunity@tencent.com 删除。

扫码

添加站长 进交流群

领取专属 10元无门槛券

私享最新 技术干货

扫码加入开发者社群
领券