20050604 点滴
编写质量优秀的软件,除了要有扎实的基础知识和经验之外,还有一些遵循了会有好处的规则。下面我来说一说。
遵守传统:很多程序在更新版的时候可能会丢失以往版本中良好的特性。举些例子来说,Windows 3.1 下的画板程序是有键盘操作功能的。在 Windows 95 中的画图程序就不再支持键盘操作了。在老版本的微软开发环境,如 QBASIC 中,F6 可以用于在工具窗口与主窗口之间切换。而新版本的 Visual Studio 中就无法使用 F6 来切换,必须对不同的工具窗口设定不同的快捷键。老版本 Windows 中微软自己做的软件的 UI,一定积累了不少经验。但是新版本 Visual Studio 2003 中的 Windows Form 窗体设计器却有一些明显的 bug。老版本 Windows 的“开始”菜单可以把程序图标拖上去自动形成快捷方式,而 Windows XP/2003 中的新“开始”菜单却没有这样的功能。如果软件都做成这样,那么使用起来必然会将老版本中优秀的特性抛弃。于是做出来的软件的用户体验就会不佳。因此,以前写 DOS 程序,有界面的程序大都模仿 Turbo C 或者 QBASIC,现在做软件也应当保留传统中优秀的部分。
多看看帮助手册:对于程序员来说,帮助手册是一大知识来源。无论是 Windows 帮助还是 MSDN,它们都向我们透露着软件设计者的思路,也让我们更容易掌握软件的使用方法。我以前在高中时候,自学 DOS 的时候,上机的机会不多,那个时候 80% 的有关知识都是通过看书得来的,只有 20% 才是通过上机得来的。当然,上机的机会多了以后,上机得来的知识也越来越多,但是从书本上得来的知识,特别是软件作者自己写的帮助手册上得来的知识,还是非常重要的。我有时候会忽视这一点,但是现在我还是要提醒我自己,同时也提醒大家,帮助手册真的是学习软件的第一手资料,耐心点看必然有好处。
要写程序文档、程序编写约定(对不同程序可能不同)和帮助手册。程序文档反映着程序的设计思路,对于维护程序是重要的。程序编写约定对于维护程序和阅读程序代码也同样重要。帮助手册对于用户是重要的,它也有增进对程序理解的作用。