1

过去,我基于快速“进行更改,上传”开发方法创建了许多 PHP 项目。

我正在开始一个长期(估计 6-8 个月)的项目,以提供一个功能相当齐全的托管 Web 应用程序。在过去的几周里,我一直在寻找“项目管理”的最佳方式(我的实际代码很好)。该应用程序将有一个提供基本功能的初始版本和一个提供高级功能的进一步版本。我从未使用过 SVN、Trac、Bug Tracking、Staging Servers 或部署工具,所以这对我来说都是全新的。

根据我在过去一周中学到的东西,这就是我正在寻找的东西。

4 x VPS,128mb RAM(256 可突发)和 10gb 硬盘空间。

在以下配置中配置

  1. tools.ops.ourdomain.co.uk - 托管 SVN、Trac 和安全文件存储的服务器,用于上传和 DNS(名称服务器指向的地方)
  2. development.ops.ourdomain.co.uk - 用于主干版软件的开发环境。SVN 提交时自动更新 htdocs 文件夹
  3. staging.ops.ourdomain.co.uk - 部署“潜在版本”进行测试。
  4. production.ops.ourdomain.co.uk - 部署“最终版本”的生产服务器。

这有意义吗?我应该把我的开发服务器放到我的本地机器上吗?将 DNS 放在工具服务器上是否有意义?

其次,对于单个开发人员来说,最好的开发方法是什么?我打算首先计划所有功能,例如“验证用户”、“注销用户”,然后将它们创建为 trac 票证。当我处理有问题的任务时,可以计算出实际的“如何”和“在哪里”。计划所有类方法(和通用文件)然后为它们创建票证会更有意义吗?

提前致谢。

4

2 回答 2

2

这里有一些基于敏捷方法松散的技巧,这对于单人团队来说应该是相当不错的,因为与实用性相比,它们没有太多的开销。

  • 制作部署脚本- 您可以运行一个命令来部署应用程序。这样,您可以轻松地重复部署应用程序所执行的步骤。这减少了在部署到生产或登台时犯小错误或忘记步骤的机会
  • 我发现在我自己的 PC 上开发通常对我来说是最快的。工作时无网络延迟,熟悉操作系统和工具。最后,重要的是个人喜好。
  • 最好有一个暂存环境,最好在与最终生产环境相同的硬件/软件上。这将允许您确认那里一切正常,并且可以允许客户测试驱动更改。
  • 尝试定期发布,类似于 Scrum 冲刺。选择要为下一个版本完成的功能。这使您可以更轻松地专注于最重要的功能,因为您知道自己需要做什么,并且还可以更轻松地显示进度(好的,此版本具有 A、B 和 C)。如果您完成了您选择的功能,请仅选择当前版本的新功能。在源代码管理中标记每个版本。
  • 对于上述情况,您可能希望使用 Trac 来跟踪 features,如您所说。你使用什么工具或方法并不重要,只要你有某种关于你正在做什么的地图或文档。
  • 如果您熟悉单元测试,您可能需要考虑使用测试驱动开发。如果没有,开始学习单元测试可能是个好主意

最后但并非最不重要的一点是,制定一个时间表并坚持下去。否则,您的项目最终可能会花费比预期更长的时间。

我希望至少其中一些可以帮助您避免我在职业生涯早期犯的一些错误=)

于 2010-01-27T20:52:35.713 回答
0

如果您可以在不花费太多成本的情况下对其进行更改,请将 RAM 增加一倍或四倍。我有一个 256 MB(固定)“工作台”VPS,但在同时运行 Trac/Python、Apache2、一个或两个 PHP 应用程序和一个远程桌面连接时遇到了问题(这个盒子会拒绝做任何事情并声称“记不清”)。这是一个 Windows Server 2003 VPS,Linux 总体上可能更节俭一些,但更多的 RAM 不会受到伤害。

至于规划,我不确定 Trac 门票是否是第一步和基本开发的方式。它们非常适合处理单个问题、想法和功能,但对于大图(功能需求、关于如何解决的草稿、功能列表),您可能最好只使用办公文档、UML 图或无论你用什么来收集想法和构建结构。

于 2010-01-27T20:40:30.653 回答