程序员修炼之道——70个有用的提示

版权声明:原创文章,未经博主允许禁止转载。欢迎点击头像上方“郭晓东的专栏”查看专栏 https://blog.csdn.net/hherima/article/details/17394655

最近几天看了《程序员修炼之道——从小工到大师》马维达【译】

该书通过丰富的例子,阐述了70条提示,用于编码、测试、需求分析、代码管理等等

值得一看,尤其是有过2,3年的编程经验


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 Quality a Requirement Issue 使质量成为需求问题。

8. Invest Regularly in Your Knowledge Portfolio 定期为你的知识资产投资

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 Easy 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 in Plain Text 使用纯文本保存知识

21. Use the Power of Command Shells 利用命令shell的力量

22. Use a single Editor well 用好一种编辑器

23. Always Use Source Code Control 总是使用源码控制

24. Fix the Problem,Not the Blame 要修正问题,而不是发出指责

25. Don't Panic 不要惊慌

26. "Select"Isn't Broken “Select”没有问题

27. Don't Assume it - Prove it 不要假定,要证明。

28. Learn a Text Manipulation language 学习一种文本操纵语言

29. Write Code the Writes Code 编写能编写代码的代码。

30. You Can't Write Perfect Software 你不可能写出完美的软件

31. Design with Contracts 通过合约进行设计

32. Crash Early 早崩溃

33. If It Can't Happen, Use Assertions to Ensure That It won't 如果它不可能发生,用断言确保它不会发生

34. Use Exceptions for Exceptional Problems 将异常用于异常的问题

35. Finish What You Start 要有始有终

36. Minimize Coupling Between Modules 使模块之间的耦合减至最少

37. Configure, Don't Integrate 要配置,不要集成

38. Put Abstractions in Code ,Details in Metadata 将抽象放进代码,细节放进元数据

39. Analyze Workflow to Improve Concurrency 分析工作流,以改善并发性

40. Design Using Services 用服务进行设计

41. Always Design for Concurrency 总是为并发进行设计

42. Separate Views from Models 使视图与模型分离

43. Use BlackBoards to Coordinate Workflow用黑板协调工作流

44. Don't Program by Coincidence 不要靠巧合编程

45. Estimate the Order of Your Algorithms 估算你的算法的阶

46. Test Your Estimates 测试你的估算

47. Refactor Early,Refactor Often 早重构,常重构

48. Design to Test 为测试而设计

49. Test Your Software,ou Your Users Will 测试你的软件,否则你的用户就得测试

50. Don't Use Wizard Code You Don't Understand 不要使用你不理解的向导代码

51. Don't 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. Don't Think Outside the Box-Find the Box 不要在盒子外思考——要找到盒子

56. Listen to Nagging Doubts - Start What You're Ready 倾听反复出现的疑虑——等你准备好再开始

57. Same Things Are better Done than Described 对有些事情“做”胜于“描述”

58. Don't be Slave to Formal Methods 不要做形象方式的奴隶

59. Expensive Tools Do Not Produce Better Designs 昂贵的工具不一定能制作出更好的设计

60. Organize Around Functionality, Not Job Functions 围绕功能、而不是工作职务进行组织

61. Don't Use Manual Procedures 不要使用手工流程

62. Test Early.Test Often.Test Automatically. 早测试,常测试,自动测试。

63. Coding Ain't Done 'Til All the Tests Run 要到通过全部测试,编码才算完成

64. Use Saboteurs to Test Your Testing 通过“蓄意破坏”测试你的测试

65. Test State Coverage,Not Code Coverage 测试状态覆盖,而不是代码覆盖

66. Find Bugs Once 一个bug只爪一次

67. Treat English as Just Another Programming language 把英语当成又一种编程语言

68. Build Documentation In ,Don't Bolt It On 把文档建在里面,不要栓在外面

69. Gently Exceed Your User's Expectations 温和地超出用户的期望

70. Sign Your Work 在你的作品上签名


阅读更多
想对作者说点什么?

博主推荐

换一批

没有更多推荐了,返回首页