版本控制
由于您在团队中工作,因此最好随身携带分布式的东西。您的候选人是Git和Mercurial。这意味着您的团队可以在不中断项目的情况下进行本地提交,但是仍然可以跟踪他们的工作,然后将这些提交推送到中央服务器。它也更快,合并冲突更少,因为代码是作为更改集而不是修订版进行跟踪的。仔细阅读hginit指南(由堆栈溢出的共同创始人撰写),您将对DVCS有了更多的了解。http://hginit.com/
您还应该使用存储库而不是rsync或ftp进行部署。
测试驱动的开发
根据您所做的测试,可能会浪费大量时间。我并不是说您应该完全跳过它,对于较小的项目,这是开销。如果要编写库或大型长期项目,请确保为其编写测试。这些测试将有助于维护阶段。请注意,TDD找不到所有错误。会有用户体验问题,布局问题,性能问题等。
基本上,调试 Xdebug是您的唯一选择。它与Netbeans集成良好。如果您需要打印出变量,则应使用日志文件。使用框架日志功能,这在生产中更加安全。
计划/图表
如果您使用的是好的框架,则无需过多地制作详细的图表。保持简单并在较短的发布周期内工作,这很容易过度计划。项目的要求和规格必定会发生变化,因此我不会花所有时间在它们上。请记住,代码是最详细级别的IS规范。
使用错误跟踪工具(见下文)将规范分解为可分配给团队成员的任务。使用中央工具来记录项目,错误跟踪器可能会有一个Wiki。
您可以使用Mysql Workbench之类的工具来设计图中的数据库模式,并将其导出为SQL。
框架和OOP
这可能是最重要的部分。为自己找到一个流行的框架,该框架将支持快速开发和代码重用。有些人不喜欢我这么说,但是框架应该决定您的工作方式。它应该提供结构,以便一个开发人员可以切换项目并确切知道某个页面的控制器在哪里,确切地知道模板变量是什么以及如何查询模型。有些框架在此处提供了太多的灵活性,您会发现开发人员并非总是以相同的方式使用该框架。我喜欢python哲学;应该有一种显而易见的方法来完成所有工作。这就是为什么我喜欢django和rails的原因,它们很自以为是,这意味着我可以看看别人的代码并了解它的作用。Symfony看起来是这里最好的选择,
像这样的堆栈溢出有很多“什么框架”问题:https :
//stackoverflow.com/questions/2648/what-php-framework-would-you-choose-for-a-new-application-and-why
错误跟踪为
您的团队提供适合开发人员的良好的错误跟踪器。不要在简化的基础上使用某些东西,例如大本营。Redmine和Unfuddle是出色的错误跟踪器的两个示例,它们还可以跟踪时间并与您的存储库集成。您的团队应该使用此工具来交流问题,而不是使用电子邮件或IM。当存在可用的错误和文档历史记录时,它使新开发人员更容易。本文确切地解释了任何好的bug跟踪程序需要做什么以及为什么。http://www.joelonsoftware.com/articles/fog0000000029.html