《程序员思维修炼》读书笔记——week4

PB16061441 陈昶金

这周读的是Andy Hunt的著作《程序员思维修炼》,这本书对于我这种刚刚入门的新手很友好,大多是讲一些遇到问题是的解决思维与平时编程时的思路问题,对我很有帮助。

令我感触很深的是文中关于新手和专家的讨论:新手:很在乎自己是否能成功,不知道自己是对是错,不是特别想要学习,只是实现一个立竿见影的目标,不知道如何应付错误,错误出现不知所措。新手需要指令清单,有规则,有顺序。但规则只能让我启程,不会让我走的更远。很显然,我就是这样一个新手,对软工充满抵触和畏难情绪。而层次渐渐往上走,他们就倾向于凭直觉工作,并不需要理由。他们有丰富的经验,并能运用自如,通过观察一些细节就能判定特征和问题所在,自动过滤那些无关紧要的会更是高手所具备的能力。

另外积累经验也给了我很多感触。这几天一直在码个人作业,可以说对此看了后,感触挺深。觉得自己从一开始看的不知所措,到现在的有一定进展,也是算是一个积累经验的过程。首先作者讲到为了学习而玩耍,有一个很那章的思想,就是“先接触,再研究”。软工课与其他课程最大的不同就在于,平时的课都是先解决理论问题再让人做题,课堂上是主要时期,软工课相反,越是自己操作的时候,碰到的麻烦越多。问题和研究,应该是先问题而后研究,先灌输知识,再操作,总有本末倒置的感觉。在操作中寻找乐趣,碰到问题再着手解决,这是学习的完整过程,编程也是“做中学”,遇到问题再找错,讨论,请教“身边的高手”,最终解决。其次是将问题分解为许多可以掌控的单元,然后回忆之前解决过的问题,一个个地来解决。在写代码里,找相似问题尤为重要,一些算法和头文件函数其实都是前人的解决问题,如果一个程序从头到尾都是新内容,新思路,新算法,先不说它效率高低,就连能不能解决问题都不一定……适当继承,适当创新,才是好程序的保障。最后,要正确面对实践中的失败。失败是常事,其实是一次提升的机会,有了一次次的试验和失败,才有了成果的高效和稳固。但是,失败只有条件的!盲目失败只会是自己停滞不前,信心备受打击。我们要重视反馈,反馈是实验的最宝贵的结果,我们通过反馈,来获取运行速度,程序可靠性等等指标,无反馈的失败,就是仅仅在打击自己,没有什么积极作用。

这本书讲得很好。书中不仅给出了一些理论上的答案,同时提供了大量实践技术和窍门。解释了为什么软件开发是一种精神活动,思考如何解决问题。浅显易懂,生动有趣。这本书要读完,在生活中去践行。

《程序员思维修炼》读书笔记——week4的更多相关文章

  1. 【前端阅读】——《程序员思维修炼》摘记&读后感&思维导图

    前言:这是一本介绍如何用脑的书,并从思维的角度(以程序员为例),介绍如何从新手成为专家.作者带领着读者(我)共同经历一次有关认知科学.神经学.学习和行为理论的旅程,探索人类大脑令人 惊奇的工作的机制, ...

  2. [Java程序员面试宝典]读书笔记

    ClassLoader具备层次关系,且不止一种.不同的类装载器分布创建的同一个类的字节码数据属于完全不同的对象,没有任何关联 通过Class.forName(String className),能够动 ...

  3. Java入门(1) —— 变量、运算符、分支结构和程序员思维的理解

    1.计算机语言的发展史: 机器语言:机器语言是指一台计算机全部的指令集合. 汇编语言:为了减轻使用机器语言编程的痛苦,人们进行了一种有益的改进:用一些简洁的英文字母.符号串来替代一个特定的指令的二进制 ...

  4. 《高效能程序员的修炼》读后感 By Yong Zhang

    想不到我工作中经常GOOGLE搜寻技术问题的stack overflow网站的创办人竟然是<高效能程序员的修炼>一书的作者!看了一遍全书,果然名不虚传. 本书更多的从人文角度而非技术角度去 ...

  5. 读书笔记 Week4 2018-3-29

    读书笔记 Week 4 <我是一只IT小小鸟> 首先不得不说,这周的个人编程任务占据了我绝大多数的精力.,虽然在接触到题目的第一时间就有了大致的思路,但当我真正上手开始编程的时候,却几乎每 ...

  6. 一位程序员如何修炼成CTO

    几乎整个互联网行业都缺CTO,特别是一些草根背景的创业者,这个问题更加显著.从我自己的感受,身边各种朋友委托我找CTO的需求,嗯,算下来超过两位数了,光最近一个月就有3个,而且这三家都是刚拿了A轮的. ...

  7. 促使团队紧密协作[高效能程序员的修炼-N1]

    在Jeff看来,团队里最重要的事情,是人与人之间地协作和沟通!所有的问题,其实都是人的问题.“不管什么问题,那总是人的问题”-温伯格.即,让你和团队陷入困境的最快的方法,就是认为技术是决定性的因素,而 ...

  8. 软工读书笔记 week4 ——《黑客与画家》下

    因为时间有限,只对书中后半部分几个篇章进行了阅读.        一.另一条路       作者以他自己为例,在那个没人知道什么叫“软件运行在服务器时”的时代,他和朋友选择创业时,没有选择写传统的桌面 ...

  9. 《代码大全2》读书笔记 Week4

    <代码大全2>第8章:防御式编程 防御式编程的主要思想是子程序应该不因为非法的输入值被破坏,就好比开车时的防御式驾驶:你无法预估其他司机将会做什么,但你要采取措施保证当他人做出危险动作时自 ...

随机推荐

  1. Nginx 基本配置介绍

    一.什么是Nginx Nginx 是一个免费的,开源的,高性能的HTTP服务器和反向代理,以及IMAP / POP3代理服务器. Nginx 以其高性能,稳定性,丰富的功能,简单的配置和低资源消耗而闻 ...

  2. 参考消息 Android 读报

    <参考消息>是新华通讯社主办,参考消息报社编辑出版的日报,创刊于1931年,历史长达80年.<参考消息>每天及时选载世界各国(地区)通讯社.报刊及因特网上的最新消息.评论的精华 ...

  3. 51nod 1525 重组公司

    题目来源: CodeForces 基准时间限制:1 秒 空间限制:131072 KB 分值: 80 难度:5级算法题 有n个人在公司里面工作.员工从1到n编号.每一个人属于一个部门.刚开始每一个人在自 ...

  4. 在广州学习PHP零基础可以学习吗?

    PHP现今作为互联网运用很广泛的编程语言,市场需求量也越来越高,而PHP开发工程师的薪资也是一路水涨船高,更多的人看到了PHP的发展前景,纷纷都想投入到PHP的开发大军中来,那么对于很多转行或者零基础 ...

  5. Codeforces 786E. ALT 最小割+倍增

    E. ALT http://codeforces.com/problemset/problem/786/E 题意: 给出一棵 n 个节点的树与 m 个工人.每个工人有一条上下班路线(简单路径),一个工 ...

  6. 【转】瓜娃(guava)的API快速熟悉使用

    http://www.cnblogs.com/snidget/archive/2013/02/05/2893344.html 1,大纲 让我们来熟悉瓜娃,并体验下它的一些API,分成如下几个部分: I ...

  7. Python——序列封包与序列解包

    一.序列封包与序列解包 把多个值赋给一个变量时,Python会自动的把多个值封装成元组,称为序列封包. 把一个序列(列表.元组.字符串等)直接赋给多个变量,此时会把序列中的各个元素依次赋值给每个变量, ...

  8. javaweb基础(7)_HttpServletResponse原理详解

    Web服务器收到客户端的http请求,会针对每一次请求,分别创建一个用于代表请求的request对象.和代表响应的response对象.request和response对象即然代表请求和响应,那我们要 ...

  9. iOS小技巧–用runtime 解决UIButton 重复点击问题

    什么是这个问题 我们的按钮是点击一次响应一次, 即使频繁的点击也不会出问题, 可是某些场景下还偏偏就是会出问题. 通常是如何解决 我们通常会在按钮点击的时候设置这个按钮不可点击. 等待0.xS的延时后 ...

  10. 【哈希 二分】bzoj2084: [Poi2010]Antisymmetry

    可以用manacher或者SA搞过去的:非常有趣的hash题 Description 对于一个01字符串,如果将这个字符串0和1取反后,再将整个串反过来和原串一样,就称作“反对称”字符串.比如0000 ...