吃自己的狗食--eat your own dog food

为什么说"吃自己的狗食(eat your own dog food)"在开发软件产品中是一件很重要的事

吃自己的狗食( eat your own dog food)是一种比喻的说法. 对于软件开发公司而言, 意思就是自己要尽量多用自己开发的软件.

唯有这样, 才能知道它是不是存在问题;而唯有重度的使用, 我们才知道它到底方不方便使用.

现实情况

而令人遗憾的是, 软件开发人员常常不是自己开发软件的用户. 有很多情况下, 可能就是上司交给我们一个任务, 需求往往也是客户拟好的. 作为一名开发人员, 我们只是把开发当作一项任务, 一项"工作"而已.

经常的情况是我们对软件的使用场景不熟悉, 也不知道软件为什么设计成这样, 我们常常只是机械地完成客户交给我们的任务.

如果某个特性客户提到了, 那它才会出现在最终的产品中;如果很不幸的客户没有提到, 又或者我们与客户之间存在沟通不良(这种情况太普遍), 那么这个特性就在我们的产品中消失了!而这个对最终的用户来说可能是很重要的, 而我们之所以对这样一个特性的遗漏毫无感觉, 一个很重要的原因就是我们并不吃自己的狗食!

继续阅读

从技术文档写作的一个细节问题说起

技术文档经常会碰到中英文混合的问题, 那么在中英文混合时有什么注意事项吗? 恐怕很多人从来没有思考过这个问题. 我之前也从未考虑过这个问题, 直到有一次我参与了英文技术文档的翻译与校对, 才意识到了一些问题.

具体说是两次, 由 oschina 所组织的, 一次是校对, 一次是翻译, 都参与了一部分, 不过已经记不得是哪次意识到这个问题了.

一个经常被忽视的问题就是, 英文单词与中文字词之间实际上是要有空格的.

一个正确的示例: 中文中夹着 english 的情况.

一个错误的示例: 中文中夹着english的情况.

看到区别了吗? 前者是有空格的, 后者则没有.

如果你看一些正规专业出版社出品的一些技术图书, 比如人民邮电出版社的 O’Reilly 系列, 你翻开看看, 你会发现正文中有中英文混合的情况下都是有空格的.

有人可能会说, 好像也没多大区别呀, 中文和英文之间本来就有足够的区分度, 何必去加那些空格呢? 有人说不定还更喜欢那种紧凑的风格.

就我个人而言, 我觉得确实有空格的看上去更舒服一些, 之前一直没有意识到这个问题, 但还是能隐隐感觉到某些书的排版就是比其它一些要好, 尽管当时说不出为什么, 现在想想, 可能就是这些细节上的差异所导致的.

其实不单单是英文与中文间有空格, 认真观察下, 你会发现很多数字与中文间也是有空格的, 种种细节上的差异最终导致了观感上的差距.

也难怪人们会说: 功夫在细节上. 当一个人不放过任何的细节时, 才算是把用户体验真正放到了心上.

当然, 个人偏好有时像"甜豆腐脑与咸豆腐脑"之争, 是争论不清的. 抛开个人偏好不谈, 这其实还涉及到一个规范的问题.

既然出版社都这么处理, 所以这也许早已经形成了一个规范, 可能是行业中约定俗成的, 甚至也可能是国家层面的指导规范. 那么, 对于我们这些后来者来说, 其实个人偏好已经不重要了, 重要的是遵循共同的规范.

特别是在一个团队中时, 过于强调个人偏好反而是有害的, 因为会导致整体风格的混乱与不统一.