代码改变世界

关于progame反驳字段是否应该不为空的论点

2004-06-28 00:51  灵感之源  阅读(1108)  评论(0编辑  收藏  举报

http://www.cnblogs.com/progame/archive/2004/06/27/19062.aspx中,progame同志指出了其不认同我的观点(http://www.cnblogs.com/unruledboy/archive/2004/06/27/18988.aspx)的论据。虽然寒枫天伤做了简单的声明(http://www.cnblogs.com/William_Fire/archive/2004/06/28/19072.aspx),但我是“始作俑者”,我觉得我有必要再澄清一下:


是的,存在即理由,任何东西都应从多方面看,优点和缺点并存,这是常见的现象。数据库设计中,数据完整性是应该遵守的,不是每个字段都能不允许为空,我所坚持的是:可以不允许为空的,就不允许为空,因为我们除了要做到数据完整性,还要考虑代码的简便性。

VB6中的确能这样处理Null,但为什么要这样做呢?为什么不直接在数据库中处理完,在代码层面不就省了这个似乎有点难以理解的代码?虽然我用了7年多的VB,但我仍然不会这样处理Null,因为这样操作有点武断,而且大部分情况是冗余的。

我看见大家给出自己的实际情况,不少网友这么多年都“允许为空”,一些朋友坚决“不允许为空”,到目前都仍然这样存在着,程序照样运行着。因为,没有东西需要全盘否定,不好的东西我们也能从中学习到东西。我欢迎大家的讨论,纯粹为了跟大家交流,共促;)