1.关心你的技艺

  Care About Your Craft

  如果不在乎能否漂亮地开发出软件,你又为何要耗费生命去开发软件呢?

2.思考!你的工作

  Think! About Your Work

  关掉自动驾驶仪,接管操作。不断的批评和评估你的工作。

3.提供各种选择,不要找蹩脚的借口

  Provide Options,Don't Make Lame Excuses

  要提供各种选择,而不是找借口。不要说事情做不到;说明能够做什么。

4.不要容忍破窗户

  Don't Live with Broken Windows

  当你看到糟糕的设计、错误的决策和糟糕的代码时,修正它们。

5.做变化的催化剂

  Be a Catalyst for Change

  你不能强迫人民改变,相反,要向他们展示未来可能会怎样,并帮助他们参与对未来的创造。

6.记住大图景

  Remember the Big Picture

  不要太过专注于细节。。

7.使质量成为需求问题

  Make Quanlity a Requirements Issue

  让你的用户参与确定项目真正的质量需求

8.定期为你的知识资产投资

  Invest Regularly in Your Knowledge Potfolio

  让学习成为习惯

9.批判的分析你读到的和听到的

  Critically Analyze What You Read and Hear

  不要被供应商、媒体炒作、或教条左右。要按照你自己的看法和你的项目的情况去对信息进行分析。

10.It's Both What You Say and the Way You Say It

11.DRY-Don't Repeat Yourself

12.Make It Esay to Reuse

13.Eliminate Effects Between Unrelated Things

14.There Are No Final Decisions

15.Use Tracer Bullets to Find the Target

16.Prototype to Learn

17.Program Close to the Problem Domain

18.Estimate to Avoid Surprises

19.Iterate the Schedule with the Code

  用你在进行实现时获得的经验去提炼项目的时间指标。

20.Keep Knowledge with Plain Text

21.Use the Power of Command Shells

22.Use a Single Eidtor Well

23.Always Use Source Code Control

24.Fix the Problem,Not the Blame

25.Don't Panic When Debuging

26."Select" Isn't Broken

  bug可能在应用中

27.Don't Assume It -Prove It

28.学习一种文本操作语言

29.Write Code that Writes code

30.you Can not write perfect software

31.design with contracts

32.crash early

33.Use assertions prevent the Impossible

34.Use Exceptions for exceptional problems

35.finish what you start

36.minimize coupling between modules

37.configure,do not integrate

38.put abstractions in code ,details in metadata

39.analyze workflow to improve concurrency

40.Design using services

41.Separate views from modules

42.always design for concurrency

43.use blackboards to coordinate workflow

44.do not program by coincedence

45.estimate the order of you algorithms

46.test your estimates

47.refactor early,refactor often

48.design to test

49.test your software,or you users will

50.dont use wiszrd code you dont understand

51.dont gather requirements-dig for them

52.work with a user to think like a user

53.abstractions live longer than details

54.use a project glossary

55.dont think outside the box -find the box

56.start when you are ready

57.some things are better done than described

58.dont be a slave to formal methods

59.costly tools dont produce better designs

60.organize teams around functionality

61.dont use manual procedures

62.test early,test often,test automatically

63.coding are not done untill all the tests run

64.use saboteurs to test your testing

65.test state coverage,not code coverage

66.find bugs once

67.english is just a programming language

  像你编写代码一样编写文档

68.build documentation in, dont bolt it on

69.gently exceed your users's expectations

70.sign your work

The Pragmatic Programmer Quick Reference Guide的更多相关文章

  1. SlickUpload Quick Start Guide

    Quick Start Guide The SlickUpload quick start demonstrates how to install SlickUpload in a new or ex ...

  2. QUICK START GUIDE

    QUICK START GUIDE This page is a guide aimed at helping anyone set up a cheap radio scanner based on ...

  3. Hibernate Validator 6.0.9.Final - JSR 380 Reference Implementation: Reference Guide

    Preface Validating data is a common task that occurs throughout all application layers, from the pre ...

  4. Spring Boot Reference Guide

    Spring Boot Reference Guide Authors Phillip Webb, Dave Syer, Josh Long, Stéphane Nicoll, Rob Winch,  ...

  5. quick start guide for XMEGA ADC

    This is the quick start guide for the Analog to Digital Converter (ADC), with step-by-step instructi ...

  6. RF《Quick Start Guide》操作总结

    这篇文章之所以会给整理出来,是因为学了一个季度的RF后,再去看官网的这个文档,感触破多,最大的感触还是觉得自己走了不少弯路,还有些是学习方法上的弯路.在未查看这类官网文档之前,更多的是看其他各种人的博 ...

  7. C++ QUICK REFERENCE

    C++ string 用法详解 字符串分割(C++)  C++ QUICK REFERENCE Matt Mahoney, mmahoney@cs.fit.edu DECLARATIONS enum ...

  8. Akka Stream文档翻译:Quick Start Guide: Reactive Tweets

    Quick Start Guide: Reactive Tweets 快速入门指南: Reactive Tweets (reactive tweets 大概可以理解为“响应式推文”,在此可以测试下GF ...

  9. RobotFramework 官方demo Quick Start Guide rst配置文件分析

    RobotFramework官方demo Quick Start Guide rst配置文件分析   by:授客 QQ:1033553122     博客:http://blog.sina.com.c ...

随机推荐

  1. 有用的css片段

    1.背景渐变动画 CSS中最具诱惑的一个功能是能添加动画效果,除了渐变,你可以给背景色.透明度.元素大小添加动画.目前,你不能为渐变添加动画,但下面的代码可能有帮助.它通过改变背景位置,让它看起来有动 ...

  2. 一些css知识

    两个"::"和一个":"在css3中主要用来区分伪类和伪元素. 1.设置 placeholder属性: // firefox input::-moz-place ...

  3. guava学习--monitor

    转载:https://my.oschina.net/realfighter/blog/349924   https://my.oschina.net/realfighter/blog/349926 M ...

  4. Swift 05.Block

    Swift的函数用法还真是灵活.但是个人感觉更灵活的还是闭包. swift闭包的概念大抵相当于OC的block的概念.如果对于block的理解很透彻的话,闭包的原理性的东西还是很好理解的. 剩下的就是 ...

  5. Spark机器学习示例

    1. Java代码 /* * Licensed to the Apache Software Foundation (ASF) under one or more * contributor lice ...

  6. css3各个属性的兼容

    1.transition:IE10. Firefox.Opera.Chrome支持: Safari支持替代的-webkit-transition属性: 2.animation: IE10.FIrefo ...

  7. virtual_login

    from selenium import webdriverimport timedriver = webdriver.Chrome()driver.set_window_position(30, 4 ...

  8. [css]当父元素的margin-top碰上子元素的margin-top

    出现条件:父元素和子元素都设置了margin-top 现象:子元素的margin-top可能会失效,导致父元素和子元素粘连在一起 解决方法: 1.给父元素加padding-top:1px. 2.给父元 ...

  9. tips of my ubuntu 16.04 LTS

    update_0 : sudo .../idea.sh 才会把idea安装上,不加sudo也会启动,但是不会在开始菜单中找到程序. ---------------------------------- ...

  10. ES6中块作用域之于for语句是怎样的?

    在ES6中新加了快作用域的概念(C语言就有,作为类c语言的js,当然应该加上),算是很好理解. { let i; } console.log(i);// i is not defined 在代码块当中 ...