zoukankan      html  css  js  c++  java
  • 《程序员的修炼之道:从小工到专家》读书笔记一

    《程序员的修炼之道:从小工到专家》Andrew Hunt ,David Thomas 著,

    Ward Cunningham 作序,同样为《软件开发者路线图:从学徒到高手》作序

    源码下载地址:http://www.pragmaticprogrammer.com/

    邮箱:ppbook@pragmaticprogrammer.com

    一、注重实效的哲学

    注重实效的程序员的特征:处理问题、寻求解决方案的态度、风格、哲学。他们能够越出直接的问题去思考,总是设法把问题放在更大的预警中,总是设法主意更大的图景。他们成功的另一关键是他们对他们所做的每件事情负责。

    1.       我的源码让猫给吃了

    “所有的弱点中,最大的弱点就是害怕暴露弱点”

    依据你的职业发展、你的项目和你每天的工作,为你自己和你的行为负责这样一种观念,是注重实效的哲学的一块基石。

           对我们的缺点、无知和错误,我们必须诚实。当你犯错误时、或是判断失误时,诚实的承认它,病设法给出各种选择。提供解决方案,而非寻找借口。(应急计划、备份等)

           提示:提供各种选择,不要找蹩脚的借口。

           不要说事情办不到,要说明能够做什么来挽回局面。

    2.       软件的熵

    提示:不要容忍破窗户。“破窗户”:低劣的设计,错误的决策,或是糟糕的代码。

    发现一个就修一个,或采取行动防止进一步的损坏,并说明情势处在你的控制之下。

    挑战:

    l         通过调查你周边的计算“环境”,帮助增强你的团队的能力。选择两或三扇“破窗户”,并与你的同事讨论问题何在,以及怎样修理它们。

    l         你能否说出某扇窗户是何时破的?你的反应时什么?如果它是他人的决策所致,或者是管理部门的指示,你能做些什么?

    3.       石头汤与煮青蛙

    人们发现,参与正在发生的成功要更容易。让他们瞥见未来,你就能让它们聚集在你周围。

    提示:做变化的催化剂。

    提示:记住大图景

    不要像青蛙一样,留心大图景,要持续不断地观察周围发生的事情,而不只是你自己在做的事情。

    4.       足够好的软件

    让你的用户参与权衡何时已足够好。

    提示:使质量成为需求问题。

    许多用户宁愿在今天用上有一些“毛边”的软件,也不愿等待一年后的多媒体版本。让他们及早使用,他们的反馈常常会把你引向更好的额最终解决方案。

           知道何时止步,编程就像绘画,需要不时后退一步,用批判的眼光观察你的作品。常常,你会扔掉画布,重新再来。

    5.       你的知识资产

    知识上的投资总能得到最好的回报。

    知识和经验是有时效的资产(expiring asset)。

    管理知识资产:与管理金融资产非常相似

    l         严肃的投资者定期投资-作为习惯

    定期为你的知识资产投资,即使投资量很小,形成习惯。

    l         多元化是长期成功的关键

    你知道的不同的事情越多,你就越有价值。作为底线,你需要知道你目前作用的特定技术的各种特性。你掌握的技术越多,你就越能更好地进行调整,赶上变化。

    l         聪明的投资者在保守的投资和高风险、高回报的投资之间平衡他们的资产

    不要把你所有的技术鸡蛋放在一个篮子里。

    l         投资者设法低买高卖,以获取最大的回报

    在新兴的技术流行之前学习它。

    l         应周期性地重新评估和平衡资产

    要在职业生涯中获得成功,你必须运用同样的知道方针管理你的知识资产。

    提示:定期为你的知识资产投资。

    目标:

    l         每年至少学习一种新语言。

    不同语言以不同的方式解决相同的问题,通过学习若干不同的方法,可以帮助你拓宽你的思维,并避免墨守成规。

    l         每季度阅读一本技术书籍

    在你掌握了正在使用的技术之后,扩宽范围,阅读一些与你的项目无关的书籍。

    l         也要阅读非技术书籍

    l         上课

    在本地的学院或大学,或是将要来临的下一次会展上寻找有趣的课程。

    l         参加本地用户组织

    主动参与,打听一下公司以外的人都在做什么。

    l         试验不同的环境

    Windows unix makefile IDE

    l         跟上潮流

    订阅商务杂志和其他期刊,选择所涵盖的技术与你当前的项目不同的刊物。

    l         上网

    了解新语言或其他新技术的各种特性,了解其他人的相关经验,了解他们使用的特定行话等,新闻组。

     

    批判的思考

    批判的思考你读到的和听到的。

    挑战:

    这周就开始学习一种新语言,总在用C++? 试试SmalltalkSqueak,在用Java 试试Eiffel

    l         开始阅读一本新书,如果你在进行非常详细的实现和编码,就阅读关于设计和架构的书,如果你在进行高级设计,就阅读关于编码技术的书。

    l         出去和你当前项目无关的人、或是其他公司的人谈谈技术,在你们公司的自助餐厅里结识其他人,或是在本地用户组织聚会时寻找兴趣相投的人。

    6.       交流

    知道你想要说什么。交流前,简略记下你想要交流的想法,并准本好几种把他们讲清楚的策略。

    了解你的听众。

    选择时机。为了了解你的听众需要听到什么,你需要弄清楚他们的“轻重缓急”是什么。

    选择风格。调整你的交流风格,让其适应你的听众。

    让文档美观。

    让听众参与。让你的读者参与文档的早期草稿的制作,获取他们的反馈,并汲取他们的智慧,讲建立良好的工作关系,制作出更好的文档。

    做倾听者。

    回复他人。你说什么和你怎么说同样重要。
  • 相关阅读:
    使用VisualVM进行性能分析及调优(转)
    Eclipse插件开发中对于Jar包和类文件引用的处理(彻底解决插件开发中的NoClassDefFoundError问题)(转)
    Adapter 代码中启动报错
    Myeclipse安装SVN插件(转)
    用java程序调用批处理文件
    内存泄露及常见的解决办法(转)
    Adapter 启动时报错——2
    开启Win7系统管理员Administrator账户
    C盘更改文件夹权限
    Adapter 启动时报错
  • 原文地址:https://www.cnblogs.com/lqc1002000/p/2456155.html
Copyright © 2011-2022 走看看