随笔-8  评论-2  文章-0  trackbacks-0
原文:
  1. Every good work of software starts by scratching a developer's personal itch.
  2. Good programmers know what to write. Great ones know what to rewrite (and reuse).
  3. "Plan to throw one away; you will, anyhow."
  4. If you have the right attitude, interesting problems will find you.
  5. When you lose interest in a program, your last duty to it is to hand it off to a competent successor.
  6. Treating your users as co-developers is your least-hassle route to rapid code improvement and effective debugging.
  7. Release early. Release often. And listen to your customers.
  8. Given a large enough beta-tester and co-developer base, almost every problem will be characterized quickly and the fix obvious to someone.
  9. Smart data structures and dumb code works a lot better than the other way around.
  10. If you treat your beta-testers as if they're your most valuable resource, they will respond by becoming your most valuable resource.
  11. The next best thing to having good ideas is recognizing good ideas from your users. Sometimes the latter is better.
  12. Often, the most striking and innovative solutions come from realizing that your concept of the problem was wrong.
  13. "Perfection (in design) is achieved not when there is nothing more to add, but rather when there is nothing more to take away."
  14. Any tool should be useful in the expected way, but a truly great tool lends itself to uses you never expected.
  15. When writing gateway software of any kind, take pains to disturb the data stream as little as possible—and never throw away information unless the recipient forces you to!
  16. When your language is nowhere near Turing-complete, syntactic sugar can be your friend.
  17. A security system is only as secure as its secret. Beware of pseudo-secrets.
  18. To solve an interesting problem, start by finding a problem that is interesting to you.
  19. Provided the development coordinator has a communications medium at least as good as the Internet, and knows how to lead without coercion, many heads are inevitably better than one.

译文(translator: habpi?HansB?):
  1. 每个好的软件工作都开始于搔到了开发者本人的痒处。
  2. 好的程序员知道该写什么,伟大的程序员知道该写写(重用)什么。
  3. 计划好抛弃,无论如何,你会的。
  4. 如果你有正确的态度,有趣的问题就会找上你。
  5. 当你对一个程序失去兴趣时,你最后的责任就是把它传给一个能干的后继者。
  6. 把用户当做协作开发者是快速改进代码和高效调试的无可争辩的方式。
  7. 早发布,常发布,听取客户的建议。
  8. 如果有一个足够大的 BETA 测试人员和协作开发人员的基础,几乎所有问题都可以被快速找出并被一些人纠正。
  9. 聪明的数据结构和笨拙的代码要比相反的搭配工作的更好。
  10. 如果你像对待最富贵的资源一样对待你的 BETA 测试员,他们就会成为你最富贵的资源。
  11. 想出好主意是好事,从你的用户那里发现好主意也是好事,有时候后者更好。
  12. 最重要和最有创新的解决方案常常来自于你认识到你对问题的概念是错误的。
  13. 最好的设计不是再也没有什么东西可以添加了,而是再也没有什么东西可以去掉。
  14. 任何工具都应该能以预期的方式使用,但是伟大的工具提供你没料到的功能。
  15. 当写任何种类的网关程序时,多费点力,尽量少干扰数据流,永远不要抛弃信息,除非接收方强迫这么做。
  16. 如果你的语言一点也不像图灵完备的,严格的语法会有好处。
  17. 一个安全的系统只能和它的秘密一样安全,当心伪安全。
  18. 要解决一个有趣的问题,请从发现让你感兴趣的问题开始。
  19. 如果开发协调人员有至少和 Internet 一样好的媒介,而且知道怎样不通过强迫来领导,许多头脑不可避免地比一个好。
posted on 2006-11-14 10:30 aa 阅读(205) 评论(0)  编辑 收藏 引用 网摘 所属分类: 谈谈

只有注册用户登录后才能发表评论。
网站导航: