系统开发中默认值的设置

多人协作开发过程中会遇到一些字段设置默认值的情况,但是这个默认值到底该由哪一阶段来设置?比如有三个阶段:前端或移动端,接口程序,数据库。说个具体场景,APP上有个医生需要显示挂号费,这个挂号费是由后台管理系统添加的,但是在添加医生这个过程不是一次性完成的,先是添加员工信息,角色为医生,这个挂号费是添加完成员工信息以后在医生管理里设置的,那么在完成添加员工后还没来得及设置挂号费医生就显示到了APP中,由于这个医生没有挂号费,就会导致用户误解或者APP程序报错。这时候问题来了,挂号费该有个默认值吧!但是这个默认值由谁来设置呢?尤其是程序上线以后出现问题大家都不想背这个黑锅,移动端问接口,你要传个默认值给我,接口对后台管理说你怎么没传个默认值给我?后台管理说,就不能在数据库设置吗,没有值我干嘛还要传?究竟该由谁来设置这个默认值,好像谁都可以,但是有很多字段要设置的时候就有很多工作量要做了,需要判断用户有没有填,没有填就设置默认值。一堆的if判断,很不明智的做法,而且也不能保证万无一失。

最后总结:默认值由数据库来设置,这是最简单的方法,可以为程序省去很多判断,而且数据库不为null的设置可以为索引字段带来好处,节省空间。