可以采取哪些措施来降低单人团队合作项目的风险,尤其是当一个人是一个相当初级的程序员时?
我问,因为我是那个初级程序员,并且没有人可以/愿意做代码审查等事情。我想,问题的一部分在于我正在从事嵌入式软件公司的Web应用程序,因此大多数员工的专业知识都在不同的领域。
答案 0 :(得分:13)
认识到这是一个问题比大多数“初级程序员”能够做到的更多:)
不幸的是,大多数雇主都没有看到同一任务中多人的好处(只有缺点)。
由于您的雇主在这一点上缺乏了解,只需遵守所有常规规则,例如自动化测试,文档和源代码管理。我非常清楚,当单独在一个项目上工作时,很容易变得自满。
事实是,文档不仅仅是为了帮助其他人了解您的代码所做的事情。它也可以帮到你。源代码管理不仅可以让多个人在项目上工作并合并更改,还可以帮助提高工作效率(从某种意义上说,您可以轻松还原更改),实施备份,并且可以很好地跟踪您的时间和精力花在哪里
答案 1 :(得分:6)
源控制和自动化测试是在任何环境中都有帮助的两件事。仅这两件事就可以缓解一些重大灾难(丢失的工作,不断变化和重构导致的错误代码)。
除此之外,坚持基础:K.I.S.S。保持您的代码设计尽可能简单,保持您的课程简单,遵循单一责任原则,最重要的是,避免重复(这将极大地指导您的设计)。利用您拥有的每一种资源:留言板,其他公司的其他程序员,学校的朋友,以及您可以使用的任何资源。即使有导师,您也可以发送电子邮件。
答案 2 :(得分:4)
最佳做法与较大的群体没有太大差别。源代码控制,单元测试,遵循您的语言风格指南,编写所有内容而不是使用手动过程,并尝试在代码的棘手部分中至少包含一些高级文档和注释。对于重要且难以更改的特定决策,例如代码如何与数据库交互,请尝试通过检查此站点来了解精心设计的项目使用的方法。
单元测试尤其是让其他人快速弄清楚代码应该如何表现的好方法,并检查他们的更改是否已经破坏了什么。
答案 3 :(得分:2)
StackOverflow充满了可用且乐于帮助解决问题并提供建议的人。
除此之外,准备好犯错并向他们学习。
哦,是的,并获得Code Complete的副本!
答案 4 :(得分:1)
正如@MattJ所提到的那样,你足够关心尝试来减轻这种风险这一事实意味着比你目前的职位名称更具资历。
我会说你应该做你为降低风险所做的所有正常事情,而且在不可能获得另一种资源的情况下,你可以自己动手,或者跳过这一步。
这是你能做的最好的事情。