英文原文:
- Act with Prudence
- Apply Functional Programming Principles
- Ask, “What Would the User Do?” (You Are Not the User)
- Automate Your Coding Standard
- Beauty Is in Simplicity
- Before You Refactor
- Beware the Share
- The Boy Scout Rule
- Check Your Code First Before Looking to Blame Others
- Choose Your Tools with Care
- Code in the Language of the Domain
- Code Is Design
- Code Layout Matters
- Code Reviews
- Coding with Reason
- A Comment on Comments
- Comment Only What the Code Cannot Say
- Continuous Learning
- Convenience is Not an -ility
- Deploy Early and Often
- Distinguish Business Exceptions from Technical
- Do Lots of Deliberate Pratice
- Domain-Specific Languages
- Don’t Be Afraid to Break Things
- Don’t Be Cute with Your Test Data
- Don’t Ignore That Error!
- Don’t Just Learn the Language, Understand Its Culture
- Don’t Nail Your Program into the Upright Position
- Don’t Rely on “Magic Happens Here”
- Don’t Repeat Yourself
- Don’t Touch That Code!
- Encapsulate Behavior, Not Just State
- Floating-Point Numbers Aren’t Real
- Fulfill Your Ambitions with Open Source
- The Golden Rule of API Design
- The Guru Myth
- Hard Work Does Not Pay Off
- How to Use a Bug Tracker
- Improve Code by Removing it
- Install Me
- Interprocess Communication Affects Application Response Time
- Keep the Build Clean
- Know How to use Comman-Line Tools
- Know Well More Than Two Programming Languages
- Know Your IDE
- Know Your Limits
- Know Your Next Commit
- Large, Interconnected Data Belongs to a Database
- Learn Foreign Languages
- Learn to Estimate
- Learn To Say, “Hello, World”
- Let Your Project Speak for Itself
- The Linker Is Not a Magical Program
- The Longevity of Interim Solutions
- Make Interfaces Easy to Use Correctly and Hard to Use Incorrectly
- Make the Invisible More Visible
- Message Passing Leads to Better Scalablity in Parallel Systems
- A Message to the Future
- Missing Opportunities for Polymorphism
- News of the Weird: Testers Are Your Friends
- One Binary
- Only the Code Tells the Truth
- Own ( and Refactor ) the Build
- Pair Program and Feel the Flow
- Perfer Domain-Specific Types to Primitive Types
- Pervent Errors
- The Professional Programmer
- Put Everything Under Version Control
- Put the Mouse Down and Step Away from the Keyboard
- Read Code
- Read the Humanities
- Reinvent the Wheel Often
- Resist the Temptation of the Singleton Pattern
- The Road to Performance is Littered with Dirty Code Bombs
- Simplicity Comes from Reduction
- The Single Responsibility Principle
- Start from Yes
- Step Back and Automate, Automate, Automate
- Take Advantage of Code Analysis Tools
- Test for Required Behavior, Not Incidental Behavior
- Test Precisely and Concretely
- Test While You Sleep(and over Weekends)
- Testing Is the Engineering Rigor of Software Development
- Thinking in States
- Two Heads Are Often Better Than One
- Two Wrongs Can Make a Right (and Are Difficult to Fix)
- Ubuntu Coding for Your Friends
- The Unix Tools Are Friends
- Use the Right Algorithm and Data Structure
- Verbose Logging Will Disturb Your Sleep
- WET Dilutes Performance Bottlenecks
- When Programmers and Testers Collaborate
- Write Code As If You Had to Support It for the Rest of Your Life
- Write Small Functions Using Examples
- Write Tests for People
- You Gotta Care About the Code
- Your Customers Do Not Mean What They Say
中文翻译:
1.谨慎行事
2.应用功能编程原理
3.询问“用户会做什么?”(您不是用户)
4.自动化您的编码标准
5.美在简单中
6.在你重新行动之前
7.小心股票
8.童子军规则
9.在指责他人之前,先检查你的代码
10.谨慎选择工具
11.域名语言代码
12.代码就是设计
13.代码布局事项
14.代码评审
15.带原因的编码
16.评论
17.只评论代码不能说的内容
18.持续学习
19.便利不是不可能的
20.尽早、经常部署
21.区分商业例外和技术例外
22.做许多深思熟虑的练习
23.Domain-特定语言
24.不要害怕打碎东西
25.不要对你的测试数据感到恼火
26.不要忽视那个错误!
27.不要只学习语言,要了解它的文化
28.不要把你的程序钉在正确的位置
29.不要依赖“魔法在这里发生”
30.不要重复自己
31.别碰那个密码!
32.封装行为,而不仅仅是状态
33.浮点数不是真的
34.用开源实现你的抱负
35.API设计的黄金法则
36.上师神话
37.努力工作没有回报
38.如何使用Bug Tracker
39.通过删除代码来改进代码
40.安装我
41.进程间通信影响应用程序响应时间
42.保持建筑整洁
43.知道如何使用Comman Line工具
44.精通两种以上的程序设计语言
45.了解您的IDE
46.了解自己的极限
47.知道你的下一个承诺
48.大型互连数据属于数据库
49.学习外语
50.学会估计
51.学会说“你好,世界”
52.让你的项目自己说话
53.链接器不是一个神奇的程序
54.临时解决方案的寿命
55.使接口易于正确使用和难以错误使用
56.让看不见的东西更显眼
57.消息传递在并行系统中带来更好的可扩展性
58.给未来的信息
59.缺少多态性的机会
60.怪事新闻:测试人员是你的朋友
61.一个二进制
62.只有代码告诉真相
63.拥有(并重构)构建
64.配对程序并感受流量
65.对基元类型的Perfer域特定类型
66.普遍错误
67.专业程序员
68.将一切置于版本控制之下
69.放下鼠标,远离键盘
70.读取代码
71.阅读人文学科
72.经常更换车轮
73.抵制辛格尔顿模式的诱惑
74.通往表演之路充斥着肮脏的代码炸弹
75.简约源自简约
76.单一责任原则
77.从“是”开始
78.后退一步并自动化、自动化、自动化
79.利用代码分析工具
80.测试所需行为,而非偶然行为
81.精确而具体地测试
82.在睡觉时(以及周末)进行测试
83.测试是软件开发的工程钻机
84.状态思维
85.两个头往往比一个头好
86.两个错误可以使一个正确(而且很难纠正)
87.Ubuntu为你的朋友编码
88.Unix工具是朋友
89.使用正确的算法和数据结构
90.详细的日志记录会干扰你的睡眠
91.WET稀释性能瓶颈
92.当程序员和测试人员合作时
93.编写代码,就好像你必须在余生中支持它一样
94.使用示例编写小函数
95.为人们编写测试
96.你必须关心代码
97.你的客户说话不算数