《代码之美》第二章读后感(一)

书中提到了章节作者编写过的最漂亮的代码是什么,答案是:Quicksort 算法。

sum = 0; t = 0
    for (n = 1; n <= N; n++)
        sum += 2*t
t = n-1 + sum/n

  

  作者向我们演示了Quicksort 算法的诞生过程也向我们展示了他的漂亮代码的思想。简单性并不是在复杂性之前,而是在复杂性之后;好的代码,必然要经历由简单到复杂再到简单的过程,只有在不仅没有任何功能可以添加,而且也没有任何功能可以删除的情况下,设计师才能够认为自己的工作已臻完美。“有时候,在软件中根本就不存在最漂亮的代码,最漂亮的函数,或者最漂亮的程序。”但是我们要努力让程序做到事半功倍。书中提到计算机编程是一项实践性的技术,提到了“任何技术都必须通过模仿和实践来掌握。”,人都是一样的,学习来源于模仿和实践,我们应该努力去学习和了解一些好的代码和知识,进而才能编写出更多更好的创造代码。

时间: 2024-10-09 07:07:39

《代码之美》第二章读后感(一)的相关文章

软件工程理论方法与实践第二章读后感

第二章读后感 为解决软件开发的问题,首先是将整个软件开发任务看做是一个可比较的刻度量的可改造,而软件过程是软件工程人员为了获得软件产品而在软件工具的支持下实施的一系列软件工程活动,主要包括问题提出,软件需求规格说明,软件设计等等.软件过程模型主要分为瀑布模型,快速原型模型,增量模型,螺旋模型,形式化方法模型,基于组件的开发模型.而微软公司的软件过程模型由规划,设计,开发,稳定和发布五个主要阶段组成,采取低近视的软件开发策略,具体表现在解决问题的及时行.不确定和变更因素的可控性,缩短按产品的上市周

大道至简第二章读后感

 读了大道至简第一章的老愚公的故事,我们知道了勤劳的人总会能够完成所有的困难,最终完成自己的任务,完成自己的目标,愚公移山,看似不能完成,但是与共凭借着子又生孙,孙又生子,活生生的完成了这一个不可能完成的任务,但是在旁人眼里看来,又有一些古板,耗时,毕竟动用了不知道多少代子孙的时间,反而观之第二章的李冰,修建都江堰,也需要“移山”,而且山上又全是石头,要是按照愚公的办法,那得修到什么时候才能完工?但是他发现了最终的方法,用火烧石头,然后浇水,石头就会变得酥脆容易挖走,这就是一种智慧. 从某种情况

大道至简:软件工程实践者的思想第二章读后感

第二章:是懒人造就了方法 引用典故李冰烧山的故事,同是战国时期,愚公就要“碎石击壤”,而李冰就已经懂得“积薪烧之”了,为什么说懒人造就了方法呢,假如李冰也像愚公一样没日没夜的督促他的团队凿石开山,那么他肯定没有时间来学习.寻找或者观察,当然也不会发现“烧”这种方法可以加快工程进度,使得一大座山短时间就被哗啦哗啦地给“碎”掉了. 李冰的团队成百上千,若只为吃喝拉撒,那必然会寝食难安,因为工程太过巨大.相反,他应是个闲人,可以闲到去观察火能否把石头烧爆.在如此大的工程中,如果会闲到去看石头,那他一定

大道至简(周爱民)第二章-----读后感

今天把周爱民大道至简的第二章关于是懒人造就了方法读了几遍,作者通过战国时李冰凿山与愚公移山的比较来阐述懒人早就方法主题,以前听历史老师讲课的时候正是因为懒人才会有那么多可以节省人们力气和时间的发明,但懒人并不是真的懒,只是把更多的时间用到了思考上面与观察生活细节上面,正如文中作者所说愚公太勤快了,勤快的今天可以比昨天凿出一倍的石头,以致没有了机会去寻找更快的方法,人的精力终归是有极限的.提出新的方法,解决的将是做事成效的根本问题.而愚公可以多吃点饭,多加点班,但却突破不了人的精力极限.   文中

《大道至简》第二章读后感------宋广晨

第二章的名字是“懒人造就了方法”.这句话很有名,在网上不少地方都看到过.例子更是数不胜数.其实要看我们怎么理解所谓的懒人.如果一个人身体懒脑子也懒什么都不想干,也许他真的算是懒人,然而这里所说的“懒人”更多时候则是指一种勤于动脑希望以此解放双手的人.这样的人毫无疑问是伟大的.如果没有第一个对手工纺织感到厌烦的懒工人发明了纺织机也许至今我们仍然停留在手工纺织的阶段,如果没有第一个对繁杂的手工计算感到厌倦的懒工程师,也许就不会有第一台分析机进而也不会有“埃尼阿克”也就不会有现代计算机:同样的,如果没

《大道至简第二章读后感》

第二章开篇将愚公与李冰作比较,愚公只知道日复一日,年复一年地挖山,毋庸置疑,他是个勤奋的人,然而,他的勤奋让他没有时间来找寻一个更方便快捷的方法,相比之下,李冰用懒人的方法凿了一座山,用时比愚公少,人力资源消耗小,同是战国时期,愚公就要碎石击壤,而李冰已经懂得积薪烧之了,换句话说,是懒人造就了方法. 李冰积薪烧之的方法来由一次闲极无聊的给夫人烧饭,发现垒灶的鹅卵石被烧的爆裂开来,遇水于甚,所以说人的精力是有限的,提出新的方法,解决的将是影响做事成效的根本问题.早期的程序是将代码打在穿孔纸上让计算

李冰烧山——大道至简第二章读后感

读了第一章的愚公移山,让我更深刻的体会到了编程的精义,就是把一个复杂的问题分解成一个个小问题,逐个解决.就像编写一个最大公约数,就要先想出两个数的最小公倍数,而最小公倍数的求法,就可以用1开始一直除到这个数的一半,然后再找出能除尽的最大的数.这样,一个问题就被我们分解开,快速的解决. 而第二章,主人公变成了李冰.战国时期的李冰凿了一座山,他的方法和愚公有着天壤之别,愚公会凿,李冰会烧.在两千年前的某一天,闲极无聊的李冰下厨给夫人炒了一个小菜,他突然发现垒灶的鹅卵石被烧得爆裂开来,遇水尤甚.从此<

程序员的修炼之道-- 从小工到专家 第二章读后感

该书第二章开讲述的是重复的危害,重复分为好多种,但每种重复的出现都是没必要的,重复的出现使得代码的运行效率大打折扣,并且占据了很多无意义的空间.要想解决重复的问题,关键要学会复用,要充分提高代码的利用效率,要做到复用一个代码要比自己新敲一段代码容易,这样就能养成遇到问题现找可复用的代码,而不是直接去新敲一段代码. 第二小节则是讲述了正交性的好处,在敲代码的过程中我常常遇到一些bug解决他们的时候难免要改来改去,到处去寻找问题发生在哪里,正交性就是解决这个问题的,正交性可以消除无关代码之间的联系,

第二章读后感

第二章讲述了如何搭建Android底层开发的环境,主要包括Android应用程序开发环境.AndroidNDK开发环境和交叉编译环境的搭建. 开发.测试和调试linux驱动.hal程序库需要的工具:jdk6或以上版本.eclipse3.4或以上版本 adt.cdt androidsdk.android ndk.交叉编译环境.linux内核源代码.android源代码.用于调试开发板的串口工具:minicom. 安装jdk:下载压缩包.将其解压.在终端输入命令打开profile文件来设置环境变量.

Android深度探索--HAL与驱动开发第二章读后感

第二章:搭建Android开发环境 这章主要讲解Android底层开发环境如何搭建,有Android应用程序开发环境.交叉编译环境和NDK开发环境. Android底层开发主要需要配置Linux驱动的开发环境.配置Android应用程序和Android NDK开发环境,而且还需要Liunx驱动及调试开发板进行辅助和测试.主要需要以下工具: JDK6或以上版本: Eclipse3.4或以上版本: ADT(用于开发Android应用程序): CDT(用于开发Android NDK程序): Andro