游戏开发论坛

 找回密码
 立即注册
搜索
查看: 3561|回复: 5

程序员最重要的能力是推演能力

[复制链接]

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
发表于 2012-1-27 15:44:00 | 显示全部楼层 |阅读模式
学习能力,语言能力,读码能力,分析能力,加班能力等等,
到底什么能力对工程师最重要,答案是推演能力。
什么是推演能力,当你手头有个需求的时候,
可以推演出提需要的人为什么会提需要,
这个需要解决了什么问题,你站在他的立场上用程序如何解决问题,
使用那些方案解决问题,这些方案利弊如何,效率如何,
哪些还是工程的盲点需要试验等等等等。
最简单的培养推演能力的方法是读开源代码,尤其是一些有针对性的开源代码,
早年我读过emule的代码,这个代码很多很大很复杂,
如何开始读而不会迷失在代码海洋?这就靠你的推演能力。
首先使用这个软件,推测软件主要功能是什么,解决了那些问题。
看代码主要流程是如何实现的。
把自己换做代码的作者,问自己你会如何做,怎么做,至少怎么开始做。
想出一个大概之后,再回去读代码会有恍然大悟的感觉,感觉好些问题是没有想到的,
这些没有想到的问题你又会如何解决,读代码的过程中要不断问自己,代码作者为什么这么做,
在什么样的外部条件下这些代码会执行,换做自己会如何写这样的代码,利弊如何,效率如何。
这样就会在自己的大脑里从代码里推演出,代码作者所面临的环境和问题,
反过来看代码作者写的代码就是所给出的答案,并且这个答案不一定是最好的。
你就会给出一个更好的答案写一份更好的代码。

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
 楼主| 发表于 2012-1-28 17:29:00 | 显示全部楼层

Re:程序员最重要的能力是推演能力

推理,由一个或几个已知的判断(前提),推导出一个未知的结论的思维过程。推理是形式逻辑。是研究人们思维形式及其规律和一些简单的逻辑方法的科学。其作用是从已知的知识得到未知的知识,特别是可以得到不可能通过感觉经验掌握的未知知识。推理主要有演绎推理和归纳推理。演绎推理是从一般规律出发,运用逻辑证明或数...

6

主题

81

帖子

90

积分

注册会员

Rank: 2

积分
90
发表于 2012-1-30 09:15:00 | 显示全部楼层

Re:程序员最重要的能力是推演能力

没有所谓最重要的能力,只有当前最需要的能力。每个人所处的环境不同,需要的能力针对性也就不同。在你的当前的局下,最重要的是推演能力。而对我,可能当前最重要的是理解能力。写程序也总是在发展中不停变化,前面的能力变为后面的基础,循环进步。

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
 楼主| 发表于 2012-1-30 10:49:00 | 显示全部楼层

Re: Re:程序员最重要的能力是推演能力

仅仅理解是不够的,推演的第一步就是要能够阅读并理解代码,
但很多代码是否有效率是根据环境决定的,放在一些环境下是正确的,
放到另一个环境就是错误的,所以还要推演出作者所假设的环境。
软件科学本身还是成体系的工程学,按需要的学习是不行的,
一定要有自己的坚持的方向,甚至需要在一段很长的时间不能被环境左右,
不光要能拼命的跑,还要找到适合自己的方向。
polo309: Re:程序员最重要的能力是推演能力

没有所谓最重要的能力,只有当前最需要的能力。每个人所处的环境不同,需要的能力针对性也就不同。在你的当...

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
 楼主| 发表于 2012-1-30 11:14:00 | 显示全部楼层

Re:程序员最重要的能力是推演能力

我举两个更极端的例子ACE和boost库,
这两个库都是以复杂著称,
很多初学者以使用和学习这两个为荣耀。
但这两个库都是以实验为目地,
假设了大量不存在的环境和前提。
我很怀疑作者真正都为这些环境做了充分的单元测试。
如果不能真正了解软件作者的用途就不可能调试和修改这两个库,
如果使用当中出现问题也就会束手无策。
真正的理解代码并正确使用推演能力了解代码作者真实意图,
是正确使用第三方库和多人合作开发软件的前提并且是必要条件。

58

主题

1437

帖子

2207

积分

金牌会员

Rank: 6Rank: 6

积分
2207
 楼主| 发表于 2012-1-31 01:49:00 | 显示全部楼层

Re:程序员最重要的能力是推演能力

只有真正了解了代码后面的意图和所在环境,
才能做到不盲目崇拜,也不盲目否定。
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

作品发布|文章投稿|广告合作|关于本站|游戏开发论坛 ( 闽ICP备17032699号-3 )

GMT+8, 2025-6-9 10:45

Powered by Discuz! X3.4

Copyright © 2001-2021, Tencent Cloud.

快速回复 返回顶部 返回列表