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

“软件工程”文章列表

我一直认为Code Review(代码审查)是软件开发中的最佳实践之一,可以有效提高整体代码质量,及时发现代码中可能存在的问题。包括像Google、微软这些公司,Code Review都是基本要求,代码合并之前必须要有人审查通过才行。 然而对于我观察到的大部分软件开发团队来说,认真做Code...
作者: 宝玉   2020-12-20 22:51:00 阅读:3374 标签:Code Review 程序员
从一次回顾会议开始 “要不……我们不做……代码审查了……试试?”还记得当有人抛出这个建议时周围同学的表情,那种表情用两个字加两个标点符号就可以形容:“什么?!” 对了,先介绍一下背景,这是项目一次普通的回顾会议,我们正在讨论的是如何让代码审查更有效率和效果。我们做代码审查的方式比较简单直...
2019-07-11 18:43:47 阅读:6572 标签:Code Review
(根据真实事件改编,情节有所夸张,请勿对号入座。) 这是一个风和日丽的星期五下午,Ben和Martin本应该在Costa咖啡馆喝一杯下午茶,一起聊聊周末的计划,然而PM的一个微信通知打乱了这一切。原来产品出现了一个bug需要紧急修复,下班之前必须要搞定。两人收到消息疾步走回到岗位,也没了心情...
作者: 贺思聪   2019-05-21 14:23:11 阅读:6524 标签:结对编程
从2001年在网易成为一名项目经理,到2011年进入腾讯,我经历了从“领导”几个人到几百个人的好几种管理岗位,名字有的叫“总监”,有的叫“经理”,还有什么O之类的。但是在十年之后,现在的我没有一个下属,一般的人看来似乎有点不可理解。正常来说,中国人的传统是“学而优则仕”,管人的总比做事的看起来要...
作者: 韩大   2018-07-23 21:31:11 阅读:13770 标签:技术团队管理
今年,“可观察性”(Observability)被引入到了 IT 领域。可观察性是一套理念系统。其重点是团队要融入可观察性的理念,特别是要求研发写出的应用是可观察的。将可观察性包含在你的需求之中,它是与扩展性,可用性同等重要的非业务性需求。 一个故事 距离伦敦 150 英里的地方有一座...
作者: 高洪涛   2018-07-19 23:01:24 阅读:3385 标签:可观察性
曾经写过一点关于代码评审(code review)的文章,比如这篇和这篇,现在觉得关于它的认识又有了不少更新。软件工程的技术和实践分成两部分,一部分是和书本知识一致的,大约占一半,这部分基本上在大学里就可以学,自学只要方法得当、刻苦努力也可是途径;但是第二部分来自于实际团队、经验,内容通常无法从...
作者: 四火   2018-05-15 13:30:23 阅读:10514 标签:code-review
1、业务架构:从单体式到微服务 K歌亭是唱吧的一条新业务线,旨在提供线下便捷的快餐式K歌方式,用户可以在一个电话亭大小的空间里完成K歌体验。K歌亭在客户端有VOD、微信和Web共三个交互入口,业务复杂度较高,如长连接池服务、用户系统服务、商户系统、增量更新服务、ERP等。对于服务端的稳定性要...
作者: 钮博彦、刘宇桐   2017-04-19 22:21:41 阅读:43319 标签:DevOps 微服务
英文链接:How to Avoid One of the Costliest Mistakes in Software Engineering 前几周,一位年轻的初创企业工程师过来寻求我有关代码重写的建议。其管理层希望她的团队在4周内完成Web产品的代码重写工作。这已进行了3个多月,但估计...
作者: Edmond Lau   2016-06-25 10:37:41 阅读:9900 标签:重写代码
Git 作为一个源码管理系统,不可避免涉及到多人协作。 协作必须有一个规范的流程,让大家有效地合作,使得项目井井有条地发展下去。"协作流程"在英语里,叫做"workflow"或者"flow",原意是水流,比喻项目像水流那样,顺畅、自然地向前流动,不会发生冲击、对撞、甚至漩涡。 本文介绍三种广...
作者: 阮一峰   2015-12-29 16:29:42 阅读:20637 标签:git
「我们一直这样做开发,时间做久了,便忘了当初的本意。」 有关软件系统开发,我们谈些什么? 我们谈过程,编码规范、开发流程、同行评审、结对编程、持续集成,从瀑布到敏捷再到极限编程。 我们谈架构,企业级、J2EE、容器化、SOA(面向服务架构)、Microservices(微服务化)。 我们...
2015-12-21 14:17:54 阅读:12810
互联网软件的开发和发布,已经形成了一套标准流程,最重要的组成部分就是持续集成(Continuous integration,简称 CI)。 本文简要介绍持续集成的概念和做法。 一、概念 持续集成指的是,频繁地(一天多次)将代码集成到主干。 它的好处主要有两个。1、快速发现错误。每完成一点...
作者: 阮一峰   2015-10-18 23:06:14 阅读:13975 标签:持续集成
简介 团队的开发人员撇开需求沉浸在想象中的“完美”程序中;测试人员迷茫的点击着按钮试图搞明白这到底是个什么功能;设计师造出了没有尽头的楼梯,更糟的是,客户爱上了这个设计;团队领导四处救火,力有不逮。种种迹象表明,我们得打破分工带来的壁垒,建设全功能团队——大多数人能完成大多数种类工作的团队。 ...
2015-09-12 22:50:31 阅读:6139 标签:团队建设
英文原文:7 Things Your Boss Doesn’t Understand About Software Development 你的老板是否不理解你的工作?本文将有助于你更好地理解为什么你的老板不理解软件开发。 你的老板可能真的很棒。我在我自己的编程生涯中就遇到过几个真心棒的老板...
作者: John Sonmez   2015-08-22 21:11:30 阅读:19802
一艘货轮满载着货物从港口启航,向浩瀚的大海深处破水而去。海面平静,微微皱起波浪,从容而显得宽容。然而,货轮的步履却有些蹒跚,发动机“轰轰轰”地嘶吼着,不堪重负,却无法让船只游得更快,倒像是海水咬住了船底往下在拖曳。 “嘟——嘟——嘟”,突然警报声响起,甲板上变得喧闹起来,一个水手模样的年轻人声...
作者: 张逸   2015-08-06 09:48:32 阅读:19624 标签:测试
对于很多公司来说,代码审查是开发人员日常工作中的重要环节。通过代码审查,可以及早发现项目中存在的问题、促进同事之间的沟通与交流,并且可以在讨论中迸发出智慧的火花。但要想成功实施代码审查却并不是一件轻松的事情,为什么要进行代码审查、何时做、如何做,这是摆在我们面前的3个重要问题。针对于这3个问题,...
作者: 张龙   2015-07-23 22:22:52 阅读:8323 标签:CodeReview
英文链接:Code Review Processes 对我而言,把代码产品化而没有合适的审查流程,就像是一场抽抽乐游戏。代码当然也有可能会挺好,不过总还是有一定概率某人的哪块积木没抽好,然后一切就轰然崩塌。无论是采用持续集成服务、结对审查、QA审查,还是所有这些方案的组合,都可以大大降低引入风...
2015-07-08 22:55:58 阅读:7787 标签:CodeReview
很多编程的人包括我,头衔叫做“软件工程师”(software engineer),然而我却不喜欢这个名字。我喜欢把自己叫做“程序员”(programmer)或者“计算机科学家”(computer scientist)。这是为什么呢?这需要从“软件工程”(software engineering)...
2015-07-06 14:44:42 阅读:8036 标签:软件工程 程序员
英文原文:Coding Culture: How To Build Better Products by Building Stronger Teams 译/丛一 软件开发人员通常会付出大量的时间和精力在如何构建最好的产品上。我们常会纠结应该使用哪种Web框架,是用NoSQL数据库还是SQL...
作者: Sven Peters   2015-06-16 17:51:24 阅读:7885 标签:团队管理
英文原文:Technical Debt: A Repayment Plan 什么是技术债务? 许多团队都受技术债务困扰,不过,很少有团队能真正地设计一个计划从中挣脱出来。为了更好的理解如何才能摆脱债务,我们首先要正确地理解什么是技术债务。 技术债务是由团队为了短期的项目利益故意做了欠佳的技...
作者: Jeremy Jarrell   2015-06-06 21:47:55 阅读:8598 标签:技术债务
(原文发布于2012年6月25日) 这几年,持续集成随着敏捷在国内的推广而持续走热,与之相伴的持续部署也一直备受关注。自前两年,持续交付这个延续性概念又闯进了国内 IT 圈,慢慢开始在社区和会议中展露头角。许多不明真相的群众跟风哭着喊着要“上”,而许多前 CI 的半吊子玩家换件衣服就接着干,有...
作者: 常新居士   2015-05-15 15:03:00 阅读:6382 标签:部署