`
andyhu1007
  • 浏览: 200006 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

从思维角度看编程过程

阅读更多

 

  当我们来到一个陌生的城市,就像我当初刚去杭州上学。到了周末,并想着跑出去玩一趟。但对城市又不了解,于是只好找地图,或者打电话问114应该坐什么车到哪里哪里。对于这个城市的一个新人来说,能找到地儿,已算不错。但坐车的机会多了,你并会了解其实从之江到武林广场根本不只302这辆破车,还有Y5,K28路等可以走。K28是空调车,速度挺快,车挺新,但走的道挺绕,耗时久。Y5也是空调车,速度快,道又近,而且走的是旅游路线,一路上风景极好。

 

  当我们对这个城市越来越了解,越来越熟悉的时候。再次出门,我们心中对坐什么车自然已有概念。并会根据每次出门的不同情况,作不同取舍。

 

  比如:

 

  * 如果时间紧急,那就得坐Y5。虽然Y5要三块,而302只要一块。

 

  * 平常情况,我们就选择坐K28路。价格公道,质量上乘。

 

  * 302虽然便宜,而且车站就在门口,但往往路上会经常堵车,而且走的道很偏。而Y5路上不堵车,而且道上可换乘的其他公交车多。所以,值得花上10分钟,去Y5的车站坐车。

 

  * 虽然Y5坐着方便舒适,而且快捷,但偏偏它容量小,坐不了几个人。所以,当全班同学出动时,只能去乘又脏又慢的302。

 

  其实,每次思考,你心中都已经装着整个城市。你的大脑就是张地图,而且是张标志着每条路路况,每路车价格的地图。

 

  我们编程的时候,用的也是这个思考过程。

 

  当我们还是个新手,我们还停留在学会使用工具的阶段时,我们不停地翻看工具书,或者找有经验的人问询。只要把程序的功能完成,就算是不错,很少会考虑性能,负载等问题。

 

  而当我们有了越来越多的经验,对程序的运行过程已经心中有数之时,每实现一个模块,一个方法,甚至每写一句程序,我们都会自然而然的考虑很多事情。

 

  比如:

 

 

  * 我们会在两种实现之间权衡,一种速度快,但耗费空间;一种节省空间,但速度慢。(当然,现在空间已经不是问题。)

 

  * 做过多的over design 和优化,在没有客户/用户需求之前,都可能是没有必要的。

 

  * 我们可以在很短的时间内,用最快的手段,实现一个方法,虽然代码丑陋了点。而往往一段好的程序,都需要考虑它很多特性,比如:它要通俗易懂,它要干净,它的耦合性要低,内聚性要高,扩展性要好,等等等等。

 

  * 我们可以选择像Ruby这种优美,简单,开发效率高的语言。但是如果对性能要求极高,我们不得不选择速度更快,性能更好的语言,如C++,虽然开发效率会降低很多。

 

  其实,每次思考,你心中都已经装着整个程序。你的大脑就是内存,而且是知晓很多外界因素的内存。

 

 

  人类在考虑很多事情的时候,思维模式都是相似的。所以,各种事情,都可以找出其相似性。

分享到:
评论

相关推荐

    改变自己编程中的思维方法

    总结来说,改变编程思维方法的关键是从现实世界的角度出发,定义和组织对象,而不是直接关注程序的执行流程。理解并应用面向对象的三大特性,能够帮助我们写出更加清晰、可扩展的代码。对于初学者来说,这是一个挑战...

    PLC如何编程和思路

    因此,应当从系统结构的角度来决定变量的使用范围。如果一个变量确实需要在整个系统中全局使用(如系统时钟的脉冲信号等),那么只需要在PLC启动时进行一次初始化。对于其他非全局变量,应在每次需要使用时进行初始...

    ACM信息竞赛思维角度

    【ACM信息竞赛思维角度】在信息学竞赛中,思维方法是至关重要的,它涉及到如何高效地解决问题和优化求解。ACM(国际大学生程序设计竞赛)中的常见解题思想主要包括试验猜想及归纳、模型化、分类及分治以及类比。 ...

    (完整word版)Python教学:编程如何培养学生计算思维-最新教育资料.doc

    同时,教师还可以引导学生讨论和反思编程过程,让他们理解和反思计算思维的应用。 总之,Python教学对于培养学生的计算思维具有显著效果。通过Python编程,学生可以学习到如何运用计算思维解决问题,这不仅对他们的...

    一些编程好书(目录) 一些编程好书(目录)

    以上书籍分别从不同角度介绍了各种编程语言和技术栈的知识点,无论是对于初学者还是资深开发者来说都是非常宝贵的资源。通过系统学习这些书籍,相信每位读者都能在各自领域取得更大的进步和发展。

    logo4编程软件

    这个软件的特点在于它的可视化编辑界面,用户可以直接看到代码的效果,这种“所见即所得”的模式使得编程过程变得更加直观和友好。Logo语言本身是一种基于图标的编程语言,它在教育领域被广泛应用,因为其简洁的语法...

    从零开始学编程的方法

    从个人角度来看,掌握编程技能可以帮助解决日常工作中遇到的技术难题,提升工作效率,甚至创造全新的解决方案。此外,拥有编程技能的个人在就业市场上更具有竞争力,更容易获得理想的工作机会。从国家层面看,培养更...

    人工智能时代下的少儿编程教育探索.pdf

    通过编程小项目实现如“控制小猫移动”这样的任务,让学生在可视化的编程过程中感受到成果,从而激发学习热情。 再者,利用问题情境创设是提高少儿学习动力的有效手段。在教学过程中,教师应巧妙设计问题情境,激发...

    从培养学生计算机思维的角度谈C语言教学.pdf

    因此,在C语言的教学过程中,教师需要站在初学者的角度,注重培养学生的计算思维方式,以帮助学生更快掌握这门高级语言,并形成结构化程序设计的思维。 C语言的学习与计算思维的培养密切相关,因为程序设计语言与...

    程序设计语言教学过程中的学生思维能力培养.pdf

    这种教学方式有助于激发学生的创造性思维,让他们学会从不同角度分析问题,提高问题解决能力。 参考文献和专业指导也是培养学生思维能力的重要资源。通过阅读相关文献,学生可以了解最新的编程技术和设计理念,从而...

    《思维的六脉神剑》读书笔记ppt模板.rar

    打破思维局限,可以运用创新思维,尝试从不同角度看待问题,运用发散性思考,挑战既定的观念。此外,跨学科的学习也能拓宽我们的知识边界,促进思维的多元化。 制作《思维的六脉神剑》读书笔记PPT模板,读者可以...

    图形化三级202209真题-全国青少年软件编程等级考试

    这种编程方式通常更易于理解和学习,尤其适合初学者,尤其是青少年群体,帮助他们入门编程思维。 全国青少年软件编程等级考试中的图形化三级考试主要测试考生对基础编程概念、逻辑控制结构以及简单算法的理解和应用...

    提高程序员思维能力的书

    - **实际应用**:在软件开发过程中,当面临需求变更或技术难题时,创造性思维能够让团队成员从不同角度思考问题,从而发现更多潜在的解决方案。 #### 3. 沟通与协作 - **定义**:沟通与协作是项目管理中的两个核心...

    \编程的那些事儿.pdf

    “抽象眼光看编程”这一表述强调了在编程过程中采用抽象思维的重要性。抽象是指从具体事物中抽取出共同特征的过程,在编程中则是指通过识别问题中的共性来简化复杂度的方法。例如,在软件开发中,可以通过创建类...

    关于编程之言

    在文章的后半部分,引入了“黑客道编程三字经”,从哲学的角度探讨了编程的本质与追求。这里的“黑客”并非指传统意义上的非法入侵者,而是指那些精通技术、追求创新与卓越的程序员。三字经通过简洁的文字,概括了...

    2020年少儿编程python课件p1-教案-《初识python》.pdf

    在编程过程中,注释是非常重要的,它可以帮助我们理解代码的功能。在Python中,我们使用`#`开头的行来添加单行注释。例如,`# 导入海龟库`。 接下来,我们将学习如何控制画笔移动和绘制图形。`turtle.forward...

    NOC编程猫小学组kitten(第一期)模拟测试题附答案

    总结起来,NOC编程猫小学组kitten(第一期)模拟测试题涵盖了编程基础、逻辑思维、设计创意等多个方面,它不仅是一次知识技能的检验,更是对学生综合素质的全面考核。通过这份模拟测试题,学生能够在实际操作中巩固...

    java编程经典例题

    更重要的是,这有助于培养一种编程思维——即遇到问题时,如何从编程的角度去思考和分解问题,如何运用已有的工具和知识去构建解决方案。 Java编程经典例题通过这些具体的练习题,为初学者提供了一个循序渐进的学习...

Global site tag (gtag.js) - Google Analytics