【读书笔记】《程序员修炼之道》前言+第一章
2017-10-06 09:04
232 查看
前言
编程是一项充满了各种细节的工作,追踪这些细节需要专注。本书告诉我们一怎样一种我们能够遵循的方式编程。
编程是一种技艺
让我想到了SICP中,作者将编程视为一种艺术
你不应该局限于任何特定的技术,而是应该拥有足够广博的背景和经验基础,以让你能在特定情况下选择好的解决方案。你的背景源自对计算机科学基本原理的理解,而你的经验来自广泛的实际项目。理论与实践结合起来。
我们不应该也不能仅仅满足一项技术的学习。也不能和学校的SB教育体系一样,天天增加JAVA的课时,把操作系统,数据结构一流的课程一再缩减。再说一遍,SB学校,急功近利。
你调整你的方法,以适应当前情形与环境。你判断对项目有影响的所有因素的相对重要性,并利用你的经验制定适宜的解决方案。你随着工作的进展持续不断地进行这样的活动。
没有东西是不变的,适合是最好的。
注重实效的程序员的特征:
早期的采纳者/快速的改编者好奇
批判的思考者
有现实感
多才多艺
我们应该多接触新技术,多试验。这样才能跟得上时代。就我自己来讲,在开始接触Java之后,也接触了一些Python,和机器学习。但是那时的我没有一门相对熟悉的技术,所以视野开阔了,但是问题还是很大。
好奇嘛,还是蛮好奇的。
提示1; Care About Your Craft 提示2: Think!About Your Work
注重实效的个体,大型的团队
软件的构造应该是工程学科。但是这并不排斥个人的技艺我们,采集的只是石头,却必须时刻展望未来的大教堂——采石工人的信条
它是一个持续的过程
kaizen。每天为提炼你所拥有的技能而工作,为把新的工具增加到你的技能列表中而工作。第一章:注重实效的哲学
1.我的代码让猫吃了
Provide Options,Don'tMake Lame Excuses
如果想要辩解的话,先考虑一下是否合理。如果需要帮助,那么先想办法自己解决,不要什么都要直接伸手
2.软件的熵
熵是一个来自物理学的概念,指的是某个系统中的“无序”的总量当软件的无序增长是,程序员们称之为 software rot
有许多因素可以催生软件腐烂——破窗效益
Dont't Live with Broken Windows
不要留着破窗户(低劣的设计、错误的决策、或者是糟糕的代码)不修。发现一个就修一个。
实在没时间修理,就都标记在一个地方——要不系统一会这炸一会那炸。。。
3. 石头汤与煮青蛙
当项目遇到阻碍的时候:设计出你可以合理要求的东西,好好开发它。一旦完成,就拿给大家看,让他们大吃一惊。然后说:我们增加,。。。。可能会更好。
问题:在大型企业里,轮不到小程序员当这个催化剂吧?我们需要往前走,发挥自己更大作用,这个时候才能拿出石头。
Be a Catalyst for change
可能村民被欺骗了,但是我们应该去识别别人画出的大饼,是不是靠谱,如果靠谱,为什么不尝试着去相信他,然后大家可能得到共赢
Remember the Big Picture
4.足够好的软件
使质量成为需求问题
在进行需求分析的时候,要分析质量问题。
不完美的代码哲学
5.你的知识资产
定期投资多元化
管理风险
低买高卖
重新评估和平衡
Invest Regularly in Your Knowledge Portfolio
学习的机会:
把找到答案视为对你个人的挑战,不要把问题搁在那里批判的思考
批判地思考你独到的和听到的。你需要确保你的资产中的知识是准确的,并且没有受到供应商或媒体炒作的影响。6.交流
知道你想要说什么
没有有效的交流,一个好想法就只是一个无人关心的孤儿规划出你想要说的东西。写出大纲。然后问你自己:“这是否讲清了我要说的所有内容?”提炼它。
了解你的听众
你想让他们学到什么他们对你讲的什么感兴趣
他们有多富有经验
他们想要多少细节
你想让谁拥有这些信息
你如何促使他们听你说话?
选择时机
选择风格
让文档美观
让听众参与
做倾听者
It's Both What You Say and the Way You Say It
相关文章推荐
- 《内核设计与实现》第一章读书笔记
- [置顶] [编译原理读书笔记][第一章 引论]
- 《css3实战》读书笔记 第一章 基于CSS需求而编写的HTML.
- 读书笔记<<程序员的自我修养>> 第一章(温故而知新)
- 第一章:Tomcat简介——读书笔记
- 读书笔记-UNIX系统编程第一章
- Linux Socket Programming by Example-第一章读书笔记
- 精通Objective-C 第一章~第三章读书笔记
- Programming Windows 第五版读书笔记 第一章 开始
- fluent python 读书笔记(第一章)
- 读书笔记-《基于Oracle的SQL优化》-第一章-2
- 第一章 读书笔记
- 《Oracle从入门到精通》读书笔记第一章 oracle 11g 概述
- 《设计模式》读书笔记——第一章:引言
- TCP/IP详解卷1 读书笔记:第一章 概述
- 《Android开发艺术探索》读书笔记----第一章:Activity的启动模式
- 《影响力》读书笔记,第一章 影响力的武器
- 《Android开发艺术探索》读书笔记----第一章:IntentFilter匹配规则
- 【读书笔记】HTML5程序设计 --- 第一章 HTML5 概述
- 《Learning From Data》第一章(二)读书笔记