今天有一件很有趣的事,我和一鸣在讨论机房收费系统时,有一个窗口里有“取消编辑”这个按钮,由于这个是一鸣先提出来的,所以他跟我说时就按照他的思路来想的。他的意思是在一段数据上修改完,并且也更新了数据库之后,发现编辑错了,想要回到修改之前的数据。他想到了学生管理系统里的“取消编辑”按钮。于是也想用标签(markbook),进行修改。我想了想markbook不是那样用的。markbook是在两个存在的数据之间才能切换。
我就回想,我当时是如何设计这个按钮的,慢慢的,我脑子从一鸣的思路里脱离了出来。由于他的思想先入为主,带动我失去了之前我自己的想法。我当时做这个按钮时,想的是“取消编辑”,是在软件程序上进行修改,在没有点击“确认修改”按钮更新数据库时,发现编辑错了,想回到原始数据时。这样点击“取消编辑”。由于数据库数据没有变化,所以直接将数据库里信息,再写入到文本里即可。
就在我跟一鸣讲我的想法时候,博扬也来了,他的想法是“取消编辑”,就是那些文本框不能输入字符。
我们三个人有三个不同的理解对于“取消编辑”定义:
一鸣:修改完文本框的数据并且更新完数据库,再回到修改之前的原始数据。
我:修改完文本框里的数据,在没有更新数据库情况下,回到原始数据。
博扬:让文本框不可输入字符,失去编辑功能的状态。
虽然这是一件小事,但足以看出自然语言的“二义性”,就像《软件开发工具》这本书里说的一样,程序员的负责态度和严格谨慎是不可靠的。所以这也是为什么要写文档的原因。