编程中的计算思维
到底什么是程序员思维,如何提升这种思维?
到底什么是程序员思维,如何提升这种思维?
1 最重要的当然是抽象思维
拥有抽象思维,能够让你深刻地理解外部世界。
作为程序员,也应当有程序员的抽象思维,提取程序的本质数据,而不用拘泥于数据的各种细节处理,站在一个比较高的高度去看问题。
判断一个程序员的水平,很重要的一点就是看他对于代码的抽象程度。抽象是一种能让你在关注某一概念(你抽象出来的是本质)的同时可以放心忽略其中一些细节,告别繁琐的业务逻辑。
学习的时候,也要有抽象思维,虽然我不知道这行代码怎么写,也看不懂,但是我知道这行代码抽象出来的结果是怎么样的,抽象出来的初始条件是什么,中间过程的实现我不必关注,我只关注参数、返回什么。
培养自己的抽象思维,可以从这几点入手:
功能分析使用设计模式2 系统性的思考方式
当你在写代码的时候,你很容易就认为只要你按照需求实现了指定的功能,你的代码就写完了。但是这其实只是冰山一角。任何没有发布到生产环境的代码都不会产生任何价值。
如果想写出真正有影响力的代码,你需要从整个系统去理解你的工作:
你写的代码和其他人写的代码在功能上是什么关系?你有没有好好测试你的代码?或者其他人是否很容易测试你的代码?为了部署你的代码,线上生产环境的代码是不是需要改动?新的代码会不会影响到已经运行的代码?在新的功能下,你的目标用户的行为是不是你期望的?你的代码有没有产生商业上的影响?这些问题都不是很容易就能回答的,但是在写代码的时候,你需要明白你的代码最后会不会得到最好的结果。
3 学会利用工具
工欲善其事,必先利其器,测试需要好的工具软件,代码管理员也会使用一款源码版本管理工具来管理自己的代码。生活中也需要各种便利的工具软件。
4 开源共享的思维
开源共享可以让技能不落伍开源共享可以和更多的人交流开源共享可以让你成为一个更好的沟通者开源共享能让你成为更好的开发者开源共享可以使自己的开发项目更好开源共享让你更善于营销5 团队协作思维
在项目开发中,每个人的技术能力都是有限的,即便你的能力再好,也不可能一个人完成项目里的所有事情。只有与团队中的人合力协作,你们才能更好地完成项目。没有团队协作能力的程序员,是没法在职场中得到提升的。
6 规范化的代码编写习惯
良好的代码编写习惯,有助于代码的移植和纠错,对不同技术人员之间的协作也有很大的帮助。在知名软件公司中,代码的变量命名、代码内注释格式,甚至嵌套中行缩进的长度和函数间的空行数字都有明确规定。让你写的代码,有良好的可读性,这是身为程序员的基本素养。
7 复用性设计、模块化思维
在你要完成一个功能模块或函数的时候,不要局限在完成当前任务的思路中,可以多考虑这个模块是否可以在脱离当前系统之后,通过简单的修改参数的方式,也能在其他系统和应用环境下直接引用。如果可以的话,那么以后你就能极大避免重复性的开发工作。
如果企业在每一次研发过程中都考虑到这些问题,那么程序员就会有更多的时间投入到创新性工作中,避免在重复性的工作中耽误太多时间。
计算思维是什么,计算思维不是什么?
1、计算思维是人的,不是计算机的思维方式。
计算思维是人类求解问题的一条途径,但决非要使人类像计算机那样地思考。计算机枯燥且沉闷,人类聪颖且富有想象力。是人类赋予计算机激情。配置了计算设备,我们就能用自己的智慧去解决那些在计算时代之前不敢尝试的问题,实现“只有想不到,没有做不到”的境界。
2、计算思维是概念化,不是程序化。
计算机科学不是计算机编程。像计算机科学家那样去思维意味着远不止能为计算机编程,还要求能够在抽象的多个层次上思维。
3、计算思维是思想,不是人造物。
不只是我们生产的软件硬件等人造物将以物理形式到处呈现并时时刻刻触及我们的生活,更重要的是还将有我们用以接近和求解问题、管理日常生活、与他人交流和互动的计算概念。
而且,面向所有的人,所有地方。当计算思维真正融入人类活动的整体以致不再表现为一种显式之哲学的时候,它就将成为一种现实。
4、计算思维是根本的,不是刻板的技能。
根本技能是每一个人为了在现代社会中发挥职能所必须掌握的。刻板技能意味着机械的重复。具有讽刺意味的是,当计算机像人类一样思考之后,思维可就真的变成机械的了。