• The Pragmatic Programmer 读书笔记


    • --在所有的弱点中,最大的弱点就是害怕暴露弱点。
    • --责任是你主动担负的东西。你承诺确保某件事情正确完成,但你不一定能直接控制事情的每一个方面。除了尽你所能以外,你必须分析风险是否超出了你的控制。对于不可能做到的事情或是风险太大的事情,你有权不去为之负责。
    • --Provide Options, Don't Make Lame Excuse.
    • --要提供各种选择,而不是找借口。不要说事情做不到;要说明能够做什么来挽回局面。
    • --破窗户理论。一扇破窗户,只要有那么一段时间不修理,就会渐渐的给建筑的居民带来一种废弃感- -种职权部门不关心这座建筑的感觉。于是又一扇窗户破了。人们开始乱扔垃圾。出现了乱涂乱画。严重的结构损坏开始了。在相对较短的一段时间里,建筑的损毁得超出了业主愿意修理的程度,而废弃感变成了现实。
    • --项目慢慢地、不可改变地完全失去控制。大多数软件灾难都是从微不足道的小事情开始的,大多数项目的拖延都是一天一天发生的。系统一个特性一个特性地偏离其规范,一个又一个的补丁被打到某段代码上,直到最初的代码一点没有留下。常常是小事情的累积破坏了士气和团队。
    • --温水煮青蛙。留心大图景。要持续不断地观察周围发生的事情,而不只是你自己在做的事情。
    • --Make Quality a Requirements Issue.你所制作的系统的范围和质量应该作为系统需求的一部分规定下来。如果你给用户某样东西,让他们及早地实用,他们的反馈常常会把你引向更好的最终解决方案。
    • --但艺术家会告诉你,如果你不懂得应何时止步,所有的辛苦劳作就会遭到破坏。如果你一层又一层、细节复细节帝叠加,绘画就会迷失在绘制之中。不要因为过度修饰和过于求精而损毁完好的程序。继续前进,让你的代码凭着自己的质量站立一会儿。它也许不完美,但不用担心,它不可能完美。
    • --定期为你的知识资产投资。每年至少学习一种新语言;每季度阅读一本技术书籍;也要阅读飞技术书籍;上课;参加本地用户组织;试验不同的环境;跟上潮流;上网...
    • --当我们进行维护时,我们必须找到并改变事物的表示——那些嵌在应用中的知识胶囊。系统中的每一项知识都必须具有单一、无歧义、权威的表示。
    • --在以后的开发过程中,你可以因为性能原因而选择违反DRY原则。这经常发生在你需要缓存数据,以避免重复昂贵的操作时。其诀窍是使影响局部化。对DRY原则的违反没有暴露给外界,只有类中的方法需要注意“保持行为良好”。
     
    • --无耐性的重复是一种容易检测盒处理的重复形式,但那需要你接受训练,并愿意为避免以后的痛苦而预先花一些时间。
    • --在计算技术中,正交性术语用于表示不相依赖性或是解耦性,如果两个或更多事物中的一个发生变化,不会影响到其他事物,这些事物就是正交的。在设计良好的系统中,数据库代码与用户界面是正交的:你可以改动界面,而不影响数据库;更换数据库,而不用改动界面。
    • --养成不断地批判对待自己的代码的习惯。寻找任何重新进行租住、以改善其结构和正交性的机会。这个过程叫做重构,它非常重要。
    • --原型制作生成用过就扔的代码。曳光代码虽然简约,但却是完整的,并且构成了最终系统的骨架的一部分。你可以把原型制作视为在第一发曳光弹发射之前进行的侦查和情报收集工作。
    • --所以我们被教导说,要防卫性地编码。如果有任何疑问,我们就会验证给予我们的所哟信息。我们使用断言检测坏数据。我们检查一致性,在数据库的列上施加约束,而且通常对自己感到相当满意。“断言式编程”描述了一种沿途进行检查的轻松方法——编写主动校验你的假定的代码。
    --未完待续
  • 相关阅读:
    SGU 495 Kids and Prizes 概率DP 或 数学推理
    poj 2799 IP Networks 模拟 位运算
    uva 202 Repeating Decimals 模拟
    poj 3158 Kickdown 字符串匹配?
    uva 1595 Symmetry 暴力
    uva 201 Squares 暴力
    uva 1594 Ducci Sequence 哈希
    uva 1368 DNA Consensus String 字符串
    数字、字符串、列表的常用操作
    if条件判断 流程控制
  • 原文地址:https://www.cnblogs.com/No-body/p/4207197.html
Copyright © 2020-2023  润新知