欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页

一些数据规范的问题

程序员文章站 2022-07-14 18:32:34
...

昨天到公司给新员工培训数据库,员工问了一些规范上的问题:

1.你觉得表设计中多少字段比较合适?

答:视情况而定,没有限制

2.项目经理说我们开发不应该使用Hibernate,你认为呢?

答:我认为是项目经理根本就没有认真研究过Hibernate,最重要的是编程使用的是事务脚本,当然用Hibernate不合适,可以考虑使用Ibatis或者直接JDBC,但是这绝对不是Hibernate的错。

3.我原来编程很有激情,但是现在让我负责维护,感觉没有激情。

答:我们唯一可以改变的就是我们自己,你可以辞职,否则只有改变自己的态度。

4.数据项的安全控制应该放到数据库吗?

答:应该在Facade层,数据库可以认为是外部资源。

5.现在都是说贫血对象,你怎么认为?

答:如果是从底层向上编的话,不贫血才怪,如果你的思维本身就是面向对象的不会出现贫血现象,当然,前提是你的项目有足够的逻辑。例如,家庭和成员维护,你是Family.setMembers还是提供Family.addMember就能看出设计人员的思维方式。

6.我们如何快速提高编程技巧?

答:来自生活,横向思维。曾经有一个项目,严格用面向对象的方法设计,我只是要求没有数据库,并强调当大家心中已没有数据库时,才会有数据库,因为领域对象和关系数据库有一道鸿沟,两个同时想会产生精神分裂,最好是有一个数据库组来完成O/R MAPPING的配置,1个月后我就加上了数据库。

7.编写java程序时有什么具体的限制?

答:人是活的,技术是死的,人不能因为使用了技术就成为死人。技术是提供我们服务的,当你站在技术之上的时候,技术为你所用,到时候就不会问这个问题了。

8.我们的项目同时要更新多个数据库,而且数据库也不同,应该如何处理?

答:你说的应该是很大的项目,但是我认为你们的项目没有这么大,因此,你说的应该是数据仓库的概念,应该使用ETL或者说是数据抽取,而不是在办理业务时同步更新多个数据库。

9.你说的如果有3条路,不要选择中间哪条是什么意思?

答:世事无绝对,只是一个经验,具体问题具体分析,中庸之道是做人的要求,但不是做技术。如果在技术上已经有了三条路可走,还用再判断吗?常见的问题是以为只有一条路可走。

10.我们的项目出现了问题,应该如何解决?

可以通过重构来解决,也可以采用将有问题的代码慢慢剥离的方法,但是重构并不像你说的那样,你现在说的重构是软件改版,重构应该非常快速,几分钟的事情,而且不破坏对外接口。

11.还有什么可以告诫我们的吗?

世界上没有绝对的对,也没有绝对的错,如果你听到别人说的很绝对,应该马上表示怀疑;

不要总是分析,应该先走出去,然后通过Review来解决问题,Review开始1~2周一次,然后可以3~4次后可以按里程碑来Review;