您的位置:知识库 » 软件工程

“软件工程”文章列表

代码审查(Code Review)是软件开发中常用的手段,和QA测试相比,它更容易发现和架构以及时序相关等较难发现的问题,还可以帮助团队成员提高编程技能,统一编程风格等。 1. 代码审查要求团队有良好的文化 团队需要认识到代码审查是为了提高整个团队的能力,而不是针对个体设置的检查“关卡”。 ...
2012-11-20 16:29:05 阅读:5304 标签:Code Review
文/ 黄亮王立杰 持续集成作为一种敏捷软件开发实践,已经被越来越多的开发者所接受。持续集成倡导开发团队频繁地进行系统集成——通常一天一次到数次,每次集成都能被自动编译和测试验证,从而能在最短的时间内发现问题,缩短开发周期,提高软件质量。 笔者面对的是具有十多年开发维护历史的5个相互依赖产品,...
2012-10-19 10:58:52 阅读:3519 标签:持续集成
作为 ThoughtWorks 的一名咨询师,我曾不止一次的被问到 ThoughtWorks 的交付项目和一般意义上的外包到底有何区别。要区分差别,首先要对外包加以定义,外包从最传统的 IT 外包到业务流程的外包,以及最近几年新兴的知识流程外包,其本身的定义也在不断的演化。每种外包有其不同的诉求...
作者: 李响   2012-10-13 12:17:37 阅读:5382
原文发表于InformIT 持续交付是一种软件开发策略,用于优化软件交付流程,以尽快得到高质量、有价值的软件。这种方法让你能更快地验证业务想法,通过直接在用户那里进行试验,做到快速迭代。 尽管《持续交付》一书主要讲的是工程实践,但持续交付的概念对整个产品交付过程都有重大意义,包括对特性的”fu...
作者: 乔梁   2012-10-01 10:47:12 阅读:1717 标签:持续交付
英文原文:On DVCS, continuous integration, and feature branches 翻译:乔梁 为了吸引大家的注意力,我想说:“特性分支是邪恶的化身”。 自2008年起,Mercurial (最近是Git)就成了我日常工作的工具,而且我喜欢使用分布式版本控...
作者: jez   2012-08-31 15:32:03 阅读:3096 标签:持续集成 特性分支 Git
英文原文:11 proven practices for more effective, efficient peer code review SmartBear Software 团队® 花费了数年时间去搜索已有的代码评审研究成果,并从超过 100 家公司的 6000 多名程序员那里,收集了...
作者: Jason Cohen   2012-08-11 13:40:38 阅读:5422 标签:Code Review
乔梁,十多年软件开发及项目管理经验,专注于提高软件企业提高交付能力,推广最佳实践。曾为多个大型电信企业、互联网企业提供专业的软件交付咨询服务。现任百度项目管理部高级架构师,负责百度敏捷过程改进与持续交付推广实施。译有《持续交付》。曾任Thoughtworks资深咨询师,对敏捷项目管理及持续集成有...
作者: 博客园团队   2012-08-02 11:00:50 阅读:2259 标签:持续集成
此页图解 git 中的最常用命令。如果你稍微理解 git 的工作原理,这篇文章能够让你理解的更透彻。 基本用法 上面的四条命令在工作目录、暂存目录(也叫做索引)和仓库之间复制文件。git addfiles把当前文件放入暂存区域。git commit给暂存区域生成快照并提交。git reset...
作者: Mark Lodato   2012-07-02 15:54:30 阅读:9435 标签:Git
爱因斯坦曾经说过,如果他有一小时来拯救世界,他会花 55 分钟来定义问题,只花 5 分钟去寻找解决方案。除了在问题和解决方案上所花费的时间比例之外,我完全同意他对于在设法解决问题之前先理解问题的重视程度。 没有充分理解问题的后果 在软件工程中,理解问题是在系统需求定义阶段早期必须完成的工作。...
作者: Marília Coelho   2012-07-01 17:10:19 阅读:4034
英文原文:Measuring Code (编者注:原文译者将Measure译为“评估”,这里改为了“测量”) 你的代码写得怎么样?如果你不属于平庸的80%,我敢打赌你的代码一定写得很棒。也许你正在维护遗产代码(不再被广泛支持的系统相关的源代码),这些代码究竟能有多糟糕?情况会有所好转吗?虽然...
2012-06-30 14:37:59 阅读:2631 标签:代码测量
很多人应该都看过James whittaker的博客或新书 《How Google test software》,在这里我不想重复他的内容,而是从另外一个角度来分析对比Google是如何保障它的产品质量的。 首先申明的是本人并没有在Google工作过,所以没有第一手的经验,仅以一个旁观者的身份...
作者: Bill Liu   2012-06-28 14:03:39 阅读:3519 标签:Google 软件质量 测试
英文原文:Technical Debt a Perspective for Managers 作者:Mark Levison 译者:赖勤毅 发布于 2010年11月5日 现在已经到第十次迭代开发周期了,你的项目开发速度开始变慢。在之前的几个迭代周期中,团队没有像以前那样完成很多的“故事场景”...
2012-06-07 13:35:17 阅读:2200 标签:技术债务
英文原文:Multitasking Gets You There Later 作者:Roger Brown 译者:鲍央舟 发布于2010年8月31日 现代商务依靠多任务来完成工作。评价员工也基于的他们多任务能力。IT业人员会被例行指派到多个项目中去。我们是经常在这样做吗?多任务起作用吗?多任...
2012-06-02 22:25:24 阅读:4020 标签:敏捷开发
处理遗留系统,几乎是每个程序员都不可能绕过的一件麻烦事儿。因为时间压力,技能不足以及功能复杂等诸多原因,常常使得遗留系统的代码变得糟糕混乱,可读性与维护性差,无法保证功能的可测试性,纠缠不清的代码让类、方法之间紧紧耦合在一起。如果遗留系统能够正常工作,那么我们还可以置之不理,即使代码接近腐烂的边...
作者: 张逸   2012-05-28 15:33:08 阅读:1954
英文原文:The Developer-Tester Divide 作者:Gil Zilberfeld 译者:蔡坚安 从此以后他们幸福地生活在一起 关于开发人员和测试人员的关系,人们阐述了很多,讨论了很多,争论了很多。而貌似一旦这两者坐在一起,对峙便开始了,两者间的争论多于相互认同。显然,这...
2012-05-06 09:42:57 阅读:3223 标签:软件测试 敏捷开发
英文原文:Tips to Developers Starting on Large Applications 假如你是一名Java开发者,正在开发和维护包含2000个类并使用了很多框架的应用程序。你要如何理解这些代码呢?在典型的Java企业项目小组中,大部分能够帮你的高级工程师看起来都很忙,文...
作者: Choudary Kothapalli   2012-04-25 21:23:10 阅读:6441 标签:Java 大型应用
英文原文: How To: Live and Learn with Retrospectives 软件开发不是孤独的追击,它需要同其他开发者和其他部门协作。大多数组织建立的软件生命周期没有涉及到如何进行这些交互。现实是许多团队的过程并不符合他们的要求或没有得到一贯地遵循。当发生这种情况时,很容...
作者: Rachel Davies   2012-04-12 14:36:56 阅读:3685 标签:敏捷开发
重构,是编写代码必须要面对的一项操作,同时也应该是程序员乐于实践的一项内容。不论是逻辑实现还是设计过程,乃至整个分层结构,我们都可能面临并且实施重构。这篇文章不会告诉您什么是重构,如何去优美的重构等等的理论,只想和大家分享一些感受,并且探讨一些问题。最近的两周,我一直对我们团队的一个子业务框架做...
2012-03-22 21:38:36 阅读:2717 标签:重构
英文原文:Implementing Automated Governance for Coding Standards 作者:Mark Figley 译者:罗小平 多数大型开发组织都有一套自己的编码和实践规范。但是对这些团队而言,光是将这些规范文档化,并保证实时更新,就是一个巨大的挑战。此外...
2012-03-22 21:30:47 阅读:2005 标签:代码规范
英文原文:How to write good requirements 编写需求文档,在嵌入式开发领域是非常普遍的。需求文档被用来定义开发任务,协调大规模的研发计划。对于最终的产品,需求文档扮演着开发者行为和消费者行为之间沟通纽带的角色。当需求文档书写正确的时候,便可以发挥巨大的作用。然而,如...
作者: Job Vranish   2012-03-21 17:32:19 阅读:4487 标签:需求文档 需求分析