当我们想做一件事情的时候,比如我们要从住处出发到某个餐馆去跟女友约会。
如果是个大老粗,不管三七二十一,出发吧。结果,到了之后,发现钱没带够,花忘了买,连最重要的礼物也忘家里了。没办法,还得折回去拿。结果是,自己累不说,还浪费了时间,浪费了金钱,而且女朋友也不开心。
如果是个思维缜密的人,他会先想:我去餐馆的目的是什么,哦,最重要的事情,是带给女朋友从国外买回来的礼物,所以千万别落了。当然,吃饭不能让女朋友付钱,所以得带上足够的钱。还有,如果送上一朵玫瑰,在烛光下,会更浪漫一点。用这两分钟时间先进行思考的结果是,什么都没落下,女朋友也很开心,最后,终于赢得美人归。
其实是编程中某些新鲜的做法,引起我上面的思考。在实现一个方法的时候,我们有时候可以先写结果(即我们想要的),然后一步步推导回去,在这个过程中,我们会很顺其自然的知道:我们要得到这个结果,需要什么?然后去把我们需要的东西拿出来即可。非常简单,不会做任何多余的事情。
而如果按照正常的写法,我们难免会像上面那个大老粗一样,要丢三拉四。
其实,原因就在于,前一种做法,你把你想要的和过程中所需要的都写下来了。而后一种做法,你把你想要的和所需要的,都还保留在大脑里。既然保留在大脑里,就难免出错,难免丢三落四。而且,保留在大脑里,就会增加大脑的负荷。既然如此,为何不把它从大脑中移出,即保证正确,又可以利用你的大脑去思考真正要思考的。
这个方法,其实和要先写伪代码的注释,是一个目的。
分享到:
相关推荐
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招--以空间换时间。 例如:字符串的赋值。 使用的时候可以直接用指针来操作。 从上面的...
和其他编程设计语言书籍不同,它不拘泥于语言细节,而是尝试从初学者的角度出发,用生动的示例和丰富的练习来引导读者渐入佳境。 作者从最基本的编程概念开始讲起,包括语言的语法和语义,而且每个编程概念都有清晰...
和其他编程设计语言书籍不同,它不拘泥于语言细节,而是尝试从初学者的角度出发,用生动的示例和丰富的练习来引导读者渐入佳境。 作者从最基本的编程概念开始讲起,包括语言的语法和语义,而且每个编程概念都有清晰...
和其他编程设计语言书籍不同,它不拘泥于语言细节,而是尝试从初学者的角度出发,用生动的示例和丰富的练习来引导读者渐入佳境。 作者从最基本的编程概念开始讲起,包括语言的语法和语义,而且每个编程概念都有清晰...
和其他编程设计语言书籍不同,它不拘泥于语言细节,而是尝试从初学者的角度出发,用生动的示例和丰富的练习来引导读者渐入佳境。 作者从最基本的编程概念开始讲起,包括语言的语法和语义,而且每个编程概念都有清晰...
4.1.1 从面向过程转变为基于集合的思维方式 96 4.1.2 面向过程vs.基于集合的思维方式:一个例子 100 4.2 集合运算 102 4.2.1 UNION和UNION ALL 103 4.2.2 MINUS 106 4.2.3 INTERSECT 107 4.3 集合与空值 108 ...
计算机程序中最大的矛盾是空间和时间的矛盾,那么,从这个角度出发逆向思维来考虑程序的效率问题,我们就有了解决问题的第1招——以空间换时间。 例如:字符串的赋值。 方法A,通常的办法: 代码如下: #define ...
最后,第8章从培养程序员思维的角度,进行了总结和概括,告诉读者如何才能像程序员一样思考。 本书选取的话题切中程序员的痛点,针对他们最容易陷入挣扎的领域展开讨论,引发思考。每章后面都给出一些编程习题,...
编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问题,从而构建美妙的应用。《像程序员一样思考》分析了...最后,第8章从培养程序员思维的角度,进行了总结和概括,告诉读者如何才能像程序员一样思考。
《0 bug:C/C++商用工程之道》共分12个章节,主要针对C/C++语言在商用工程开发中的程序实战进行论述,从商用解决方案的角度来理解C和C++语言的程序设计技巧。具体内容包括商用工程开发思路、C/C++无错化程序设计、...
《0 bug:C/C++商用工程之道》共分12个章节,主要针对C/C++语言在商用工程开发中的程序实战进行论述,从商用解决方案的角度来理解C和C++语言的程序设计技巧。具体内容包括商用工程开发思路、C/C++无错化程序设计、...
《0 bug:C/C++商用工程之道》共分12个章节,主要针对C/C++语言在商用工程开发中的程序实战进行论述,从商用解决方案的角度来理解C和C++语言的程序设计技巧。具体内容包括商用工程开发思路、C/C++无错化程序设计、...
编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问题,从而构建美妙的应用。本书分析了程序员解决问题的方法...最后第8章从培养程序员思维的角度,进行了总结和概括,告诉读者如何才能像程序员一样思考。
《像程序员一样思考》内容简介:编程的真正挑战不是学习一种语言的语法,而是学习创造性地解决问题,从而构建美妙的应用...最后,第8章从培养程序员思维的角度,进行了总结和概括,告诉读者如何才能像程序员一样思考。