《程序员修炼之道——从小工到专家》之一

《程序员修炼之道——从小工到专家》之一_第1张图片

“如果我在管理一个项目,这本书的作者就是我想要的人……如果办不到,我就会要读过他们书的人。”——Ward Cunningham

0.作者介绍

【Andy Hunt】一位热切的木匠和音乐家,但奇怪的是,让你们更需要作为顾问的他。工作领域包括电信、银行、金融服务、公共服务以及一些更奇特的领域,比如医学成像、图形艺术、Internet 服务。Andy的专长是经过验证的技术与先进的技术混合在一起,创建各种新颖的——但也实用的——解决方案。

【Dave Thomas】喜欢驾驶单引擎飞机飞行,为各种难题寻找优雅的解决方案,提供诸多领域里的咨询服务——航空、银行、金融服务、电信、交通运输以及Internet,曾建立公司,为世界各地客户开发成熟、定制的软件项目。

0.前言

【1】公司新人必备的学习材料

【2】不止读一遍的书

【3】看似朴素道理,实则经验之谈

【4】推荐书单

【5】水平不够时,你永远不懂那些朴素道理的重要

【6】坚持正确的原则,并付诸实践

1.注重实效的哲学

哲学所讲的大都是思想和意识,是顶层方法论。从本质上认识问题,认识注重实效的重要性以及主要途径。

【1】在自己的项目的各个时期,对其负责。不找借口,不推脱,提供针对问题的多个解决方案,让问题得到足够好的解决

【2】不能容忍软件慢慢变的复杂,难以维护的任何修改。避免“破窗户”,避免因程序员的偷懒而欲速不达

【3】项目资源没充分获取时,做框架,做demo,慢慢的“石头汤”变成美味的“肉汤”。避免“万事俱备”才启动项目的“启动杂役”

【4】软件不可能做到完美,需求的变更,隐藏很深bug的出现都会带来软件的变动。不过度修饰、求精而损坏完好程序,尽量早的让用户反馈,参与优化

【5】保持知识资产不失时效。策略:定投、多远化、管理风险、定期评估;具体:学习新语言、阅读技术书籍、上课、技术论坛、上网

【6】交流包括面谈、文档、电子邮件、电话、演示文稿等,注意各自的特点。你说什么和你怎么说同样重要。 避免交流方式不对,导致“溃于蚁穴”

2.注重实效的途径

1】知识重复。简单的知识用代码表述,足够;复杂的知识加上注释;先有文档,再有代码,更新代码,更新文档;注释跟随代码变动而变更,否则整个工程的注释将不可信

【2】正交代的设计思想,让系统更清晰、易测试、易扩展,提高生产率,降低风险。代码解除耦、避免使用全局变量、避免相似的函数

【3】灵活的架构便于模块撤销与替换,注重扩展性。 唾弃糟糕的封装、高度耦合以及硬编码的逻辑

【4】曳光弹 时髦的名字,找到目标或者真正的问题。设计原型以及原型忽略细节的特点

【5】习惯用所熟悉的编程语言思考问题,扩充语言,“他山之石,可以攻玉”

【6】项目进度评估,资源分配、项目分解、人员安排的质量共同决定。项目流程:检查需求、分析风险、设计、实现、集成、向用户确认。 谨慎评估


你可能感兴趣的:(读书笔记)