有人向我提到,我将是一个大型新系统的唯一开发人员。在其他方面,我将设计一个UI和数据库模式。
我相信我会得到一些指导,但我希望能让他们大吃一惊。在此期间我可以做些什么准备,当我坐在我的电脑前看规范时,我需要记住什么?
有几件事要记住:我是一名大学生,这是我的第一份真正的编程工作。我将使用Java。我们已经设置了自动测试的配置管理,etc...so工具不是问题。
发布于 2008-08-19 04:32:30
你对OOP了解很多吗?如果是这样的话,看看Spring和Hibernate来保持你的实现的整洁和orthogonal。如果你做到了这一点,你应该发现TDD是保持你的设计紧凑和精简的一个好方法,特别是因为你已经启动并运行了“自动化测试”。
更新:看着第一批答案,我完全不同意。特别是在Java领域,您可以找到大量关于使用对象而不是以数据库为中心的方法来开发您的应用程序的指导/资源。数据库设计通常是微软员工的第一步(我每天都在做这件事,但我正在做一个恢复程序,呃,Alt.Net)。如果您将重点放在需要交付给客户的内容上,并让ORM弄清楚如何持久化您的对象,那么您的设计应该会更好。
发布于 2008-08-19 10:34:36
这听起来很像我的第一份工作。大学毕业后,我被要求设计数据库和业务逻辑层,而其他人则负责UI。与此同时,老板在我身后张望,不愿放手过去是他的孩子,现在是我的孩子,并把手指伸进了它。三年后,开发人员正在逃离公司,而我们仍然需要X个月的时间才能真正卖出任何东西。
最大的错误在于过于雄心勃勃。如果这是你的第一份工作,你会犯错,而且你需要在写完之后很长一段时间内改变事情的工作方式。我们有各种各样的功能,使得系统变得比需要的更复杂,无论是在数据库级别还是在它提供给其他开发人员的API中。最后,整个事情太复杂了,一下子就不能支持了,就这么死了。
所以我的建议是:
发布于 2008-08-19 06:08:32
我也不同意从数据库开始。DB仅仅是业务对象如何持久化的工件。我不知道在Java语言中有类似的工具,但是.Net有像SubSonic这样的优秀工具,使您的DB设计在您迭代业务对象设计时保持流畅。我要说的是,首先(甚至在决定引入什么技术之前)专注于这个过程,并识别你的名词和动词……然后从这些抽象中构建。嘿,它真的能在“真实世界”中工作,就像OOP 101教你的那样!
https://stackoverflow.com/questions/15690
复制相似问题