我已经提到我将成为一个大型新系统的唯一开发者.除此之外,我将设计一个UI和数据库模式.
我相信我会得到一些指导,但我希望能够脱掉他们的袜子.在准备的同时我可以做些什么,当我坐在计算机上时,我需要记住什么?
要记住的一些事情:我是第一个真正的编程工作的大学生.我将使用Java.我们已经设置了SCM,并进行了自动化测试......所以工具不是问题.
你对OOP了解多少?如果是这样,请查看Spring和Hibernate以保持您的实现清洁和正交.如果你这样做,你会发现TDD是一种保持设计紧凑和精益的好方法,特别是因为你已经"自动化测试"了.
更新:看看第一批答案,我不能不同意.特别是在Java空间中,您应该找到大量有关使用Objects编写应用程序的导师/资源,而不是以数据库为中心的方法.数据库设计通常是微软人员的第一步(我每天都会这样做,但是在恢复计划中,呃,Alt.Net).如果您将重点放在需要交付给客户的位置并让ORM弄清楚如何持久保存对象,那么您的设计应该更好.
这听起来非常像我的第一份工作.直接离开大学,我被要求设计数据库和业务逻辑层,而其他人则会处理UI.与此同时,老板正在看着我的肩膀,不愿意放弃曾经是他的孩子,现在是我的,并用手指戳它.三年后,开发商逃离了公司,我们距离实际销售任何东西还有X个月的时间.
最大的错误在于过于雄心勃勃.如果这是你的第一份工作,你会犯错误,你将需要改变你写他们之后是如何工作的长.我们有各种各样的功能,使系统比它需要的更复杂,无论是在数据库级别还是在向其他开发人员提供的API中.最后,整个事情太复杂了,不能立刻支持所有人,只是死了.
所以我的建议是:
如果你不确定单手承担这么大的工作,不要.告诉你的雇主,让他们找到或雇用某人为你工作,谁可以帮助你.如果需要将人员添加到项目中,那么应该在开始时进行,而不是在事情开始出错之后.
仔细考虑产品的用途,并将其归结为您能想到的最简单的要求.如果给你规格的人不是技术人员,试着去看看他们写的是什么会实际工作和赚钱.与客户和销售人员交谈,了解市场.
承认你错了并不可耻.如果事实证明整个系统需要重写,因为你在第一个版本中犯了一些错误,那么最好尽快承认这一点,这样你就可以了.相应地,不要试图建立一个可以预测第一个版本中每个可能的偶然事件的架构,因为你不知道每个偶然事件是什么,只会弄错.写一次,躲开并重新开始 - 你可能没必要,第一个版本可能没问题,但如果你这样做就承认.