设计/可视化Mysql数据库以避免返工

时间:2014-05-23 17:31:57

标签: php mysql architecture

我多年来一直在编写php企业应用程序,但我仍然希望收到反馈。

通常当我获得功能规范时,我会创建一个工作表,说明完成项目需要多长时间。我没有团队,我的代码开始结束。

几乎在大多数大型应用程序到达中途后,我发现数据库应该以不同的方式设计。所以我创建或删除或修改了几个表(有时候只有几个表),以便更好地进行优化和数据提取。

因此,根据我的经验,我总是需要在中途进行返工。

以下是我为大型应用程序执行的步骤。

  1. 可视化数据库。我更喜欢草绘它们。
  2. 我编写了自己的PHP MVC框架并使用了它。
  3. 创建单元测试(如果需要)
  4. 做一些优化。
  5. 代码清理。
  6. 交付。
  7. 我的问题: 我从未教过编程。我通过错误和经验以及当然的Stackoverflow学到了一切。我是否遵循了正确的模式?或者是否有更好的方法来避免返工。对不起,我的问题可能听起来很吵,但我正在认真寻找一些有用的建议。

2 个答案:

答案 0 :(得分:1)

这最终得到的评论太长了......

  1. 带上一粒盐的StackOverflow。是的,有一些非常聪明,写得很好的答案,但是还有许多“盲目领导盲人”的案例。如果你知道答案,你通常不会问一个问题,如果某人得到了解决他们问题的可怕办法,但是它有效并且他们不知道更好,他们可以像其他任何人一样将其标记为被接受。这个网站上有很多人在心态上“如果它被接受了,那么它必须是正确的”并且最终会把它们咬在屁股上。
  2. 在您的领域找到您个人尊重的人,并要求他们详细查看您的数据库设计/方法,而不是在SO上提出含糊的问题。您的流程听起来在您概述的广泛笔画中很好,但是谁知道细节中隐藏着什么样的恶魔。
  3. 如果您仍然希望互联网陌生人审核一小部分代码,您可以尝试CodeReview.StackExchange.com。关于SO的CR问题关闭得比你能眨眼更快。

答案 1 :(得分:1)

我认为你的步骤很好。如果您没有专家,您可以考虑posting some of your working code for review以获得有经验的程序员对设计,最佳实践等的意见There are also chat rooms,其中有许多活跃用户是特定语言的专家。