设为首页收藏本站

LUPA开源社区

 找回密码
 注册
文章 帖子 博客
LUPA开源社区 首页 业界资讯 技术文摘 查看内容

软件开发防错指南

2013-4-10 10:16| 发布者: joejoe0332| 查看: 1341| 评论: 0|原作者: php100.com|来自: php100.com

摘要:   一个好的项目是从需求开始的。一个成功漂亮的需求分析-会让你拥有更多的潜在用户-但更重要的是紧急需 求, 用户迫切需要你解决的实际问题-让他们知道你的产品能做到这些,他们才会不得不使用他。如果你能满足一 ...

  部署

  软件设计师一旦提交他们的代码到版本控制库中,那么他们所有的测试都将顺利通过。

  如果他们要求改变后端服务的代码(如数据库模式更改),这可以通过迁移做到。一个迁移能改变它如何制作和回滚。当部署一个新的软件版本时,运行任一未 运行的迁移模式。同步的代码版本依赖于其后备服务。在回滚之上,迁移同时又被回滚。这意味着后备服务与代码总是同步的。

  几乎所有的新代码都是致力于开发的主线的(又名主干或HEAD)。这就避免了不同的开发分支合并后的痛苦。因为任何大的变化都应作为一个实验来实现, 如果一个变化没有完成或者没有准备好,就很容易被大多数实验外的用户关闭。如果代码准备好了,则更多的人可以加入到实验组而这种拴牢最终将被删除。

  一旦提交到版本库,版本库就会自动建立、释放、并在一个新的测试环境中运行这些代码并 自动测试它们 。 然后,就应该尝试运行代码,并迁移对生产支持服务的完整副本(read:数据库),尝试通过运用和回滚的迁移这两种方式确保测试通过

  如果它们全部都通过了,它就应该发布出来。为了确保一些莫名其妙地通过了测试的断码不发布出来,你应该有一个免疫系统去监控部署。系统会查看你的主要 创新指标(寻找新的收益,新的用户等等),以确保他们没有受到不利影响的部署。如果是这样,它会自动回滚,并提醒团队。

  为了确保还没有被产品所有者审查的代码不发布出来 ,你应该给它们着手 控制实验 。 新功能应该在最初时没有任何人的实验中投入生产 。 产品所有者可以添加自己的实验, 或把实验放在预览服务器让 每个人来测试它 。 QAs也可以测试。当所有人都快乐了,就会有越来越多的人加入到实验中 。 如果指标看起来很棒 ,甚至可以增加更多 ,直到最终100 %的用户都参与到实验里来和有控制可以从代码库中删除的力量 。

  发布

  有些人会鼓励你举行一个大的如同好莱坞式的发布会,在软件推出的几个月前就开始大肆宣传发布日期。 这种方式也许在好莱坞很好用——如果你的电影在首映周票房高唱,影院心甘情愿的多放映几周,且你的电影被誉为“本周最佳影片”。但对于软件开发者,这是极 其荒谬的。你的软件并非在影院发布,它发布在互联网上。你的软件不比担心被影院展示一周就下架。你可以年年推送,培养用户群。

  一场盛大发布会的问题在于,除非你是完美的,发布当天总会出现一些你忽视掉的 BUGs 和概念错误。现在,数以百万计的人正在访问你的产品,体验这些错误。(也许你的错误时没有适时的加载和测试服务器,导致网站宕机。)

  相反的,你应该视你的发布会为另一场实验,并在表现良好的时候缓慢增加允许访问的用户数量。学习Gmail的例子:邀请极少的人,针对他们的使用和反 馈测试你的设定,当他们开始喜欢上的时候,允许他们邀请另一些人加入。慢慢增加人数,直到所有期待邀请的人都已被邀请,整个世界都将是你的试验场。

  祝你好运!

  致谢

  此文最初是由 Aaron Swartz编写的,是他和其他人很多不同的想法的组合 。 需求和想法的讨论可能受到Paul Graham 的影响 。招聘是改编自Aaron的 我如何雇佣程序员 ,这涉及到Joel Spolsky的作品 (他的书被称为聪明地把事情办好)。假定是改编自精益创业 和丰田生产系统。团队和开发是基于极限编程 的想法 。 架构明显是基于12-要素的应用 。The Chaos Monkey是来自于Netflix 。 从Rails迁移是一个长期的过程。部署通过蒂莫西· 菲茨来IMVU的连续性免疫系统。发布的部分是改编自如何启动软件。


酷毙

雷人

鲜花

鸡蛋

漂亮
  • 快毕业了,没工作经验,
    找份工作好难啊?
    赶紧去人才芯片公司磨练吧!!

最新评论

关于LUPA|人才芯片工程|人才招聘|LUPA认证|LUPA教育|LUPA开源社区 ( 浙B2-20090187 浙公网安备 33010602006705号   

返回顶部