没有这些能力能做好程序员吗?

经常想的一个问题,在我审核代码的时候,一般程序员都或多或少的犯了一些毛病,而这些毛病的根本原因是因为缺少了某些能力导致的,到底原因是什么?下面我做了一个初步的总结。

识别

识别包含几个概念: discover,identify,naming。首先你需要在混沌中发现有用的东西,明确识别它,并赋予它一个准确的名字,以区分开不同的概念。识别能力是下面其他能力的基础。

在这里插入图片描述

归类

当你能在混沌中识别到很多不同的东西以后,你需要把东西归类(classify),作初步简化。什么东西应该放在一起,什么东西绝对不能放在一起,就好像垃圾分类。实际上归类需要看你需要达到什么目标,归类方式和结果会截然不同。通过归类,可以形成一定的知识体系,简化一些本来复杂的东西。
在这里插入图片描述

抽象

从多个实例中,能够识别出当中的普遍性,就是抽象(abstraction)。抽象能进一步简化你的东西,适当的抽象不至于信息大量失真,影响其实用性。

在这里插入图片描述

预判

对未来发展有一定的逻辑推敲能力(prediction),并非盲目猜测。对于未来可能发生的改变能有识别能力,并有所计划和准备。有可能发生的事情,简单的是能否概括所有出现的情况,复杂的甚至可以扯上统计学。一副扑克抽一张,这大家都知道可能的结果,但若调用一个函数,有多少人认真的分析过(或者认真看过文档)会有什么可能的结果呢?

在这里插入图片描述

总结

程序员本质是要理解这个复杂的世界,并作出适当的简化,以程序的方式表现出来。

以上所描述的能力,都是基础教育的一部分。在儿童时期没学好这些能力,长大后再学习不知道会不会比较困难呢?

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值