期间:2016
统治第二版
有第二版的自治领基地游戏和阴谋
函数的长度
在我的职业生涯中,我听到过许多关于函数应该多长的争论。这代表了一个更重要的问题——什么时候应该将代码包含在自己的函数中?其中一些准则是基于长度的,例如函数的大小不应超过屏幕的尺寸。有些基于重用——任何使用多次的代码都应该放在自己的函数中,但只使用一次的代码应该保持内联。然而,对我来说最有意义的论点是意图和实施的分离.如果你不得不花精力去看一段代码来弄清楚什么它正在做,然后你应该把它提取到一个函数中然后用那个“什么”来命名这个函数。这样,当你再次阅读它时,函数的目的就会跃入你的脑海,而且大多数时候你不需要关心函数是如何实现它的目的的——也就是函数的主体。
隐藏的精度
有时当我处理一些数据时,这些数据比我预期的更精确。有人可能会认为这是一件好事,毕竟精确是好事,所以越多越好。但是隐藏的精确度可能会导致一些微妙的错误。
拉芙莱斯和巴贝奇的惊险冒险
一个引人入胜的混合卡通在蒸汽朋克口袋宇宙,和信息丰富的脚注的先驱计算和他们的真实维多利亚世界。
值对象
编程时,我经常发现用复合表示东西很有用。二维坐标由x值和y值组成。钱的数量由数字和货币组成。日期范围由开始日期和结束日期组成,它们本身可以是年、月和日的复合。
当我这样做时,我遇到了两个复合对象是否相同的问题。如果我有两个点,它们都表示(2,3)的笛卡尔坐标,将它们视为相等是有意义的。由于其属性值(在本例中是其x坐标和y坐标)而相等的对象称为值对象。
混淆的错误
当通过多个引用访问同一个内存位置时,就会发生混叠。这通常是一件好事,但它经常以一种意想不到的方式发生,导致令人困惑的错误。
煮熟的胡萝卜
我小时候很讨厌胡萝卜,讨厌它的味道和质地。但是当我离开家开始自己做饭后,我开始喜欢上了它们。胡萝卜没有任何变化,我的味蕾也没有彻底改变,不同的是烹饪方法。我的母亲,像她那一代的许多英国人一样,并不擅长烹饪——尤其是蔬菜。她的做法是将胡萝卜煮20分钟或更长时间。后来我了解到,如果烹饪得当,胡萝卜会是一种完全不同的体验。
这不是一个关于烹饪的网站,而是关于软件开发的网站。华体会登录网址但我发现,通常一种技术或工具就像可怜的胡萝卜——被指责为糟糕,而真正的问题是技术没有正确使用。
双峰它
双峰IT是一个有缺陷的概念,它认为软件系统应该分为这两个不同的类别进行管理和控制。
- 前厅系统(engagement系统)应该针对快速功能开发进行优化。这些参与系统需要对不断变化的客户需求和商业机会做出快速反应。缺陷应该作为这个快速开发周期的必要成本而被容忍。
- 后台办公室系统(记录系统)应该针对可靠性进行优化。作为记录系统,重要的是不要出现损害企业的缺陷。因此,你减慢了变化的速度。
Serverless
无服务器架构是基于in华体会体育网页版入口ternet的系统,其中应用程序开发不使用通常的服务器流程。相反,它们完全依赖于第三方服务、客户端逻辑和承载服务的远程过程调用(FaaS)的组合。
业务能力为中心的
一个以业务能力为中心的团队,其工作与业务的某个领域长期一致。只要所述业务能力与业务相关,团队就会存在。这是与项目团队相反的,项目团队只持续到交付项目范围所需的时间。
活动面向
任何重要的软件开发工作都需要进行华体会登录网址几个不同的活动:分析、用户体验设计、开发、测试等。面向活动的团队围绕这些活动组织起来,这样你就有专门的团队负责用户体验设计、开发和测试等。面向活动承诺了许多好处,但是软件开发通常更好华体会登录网址OutcomeOriented团队。
结果导向的
赞助软件开发的人通常对开发指标不太感兴趣,例如速度或部署到生产的频率。他们更关心软件将交付的业务利益,如更低的手工工作量,更好的销售转换,更高的客户满意度,即业务结果。以结果为导向的团队是那些被授权并被装备去交付业务结果的团队,这样的团队有能力执行所有必要的活动来实现结果。相比之下,ActivityOriented团队既没有装备也没有被授权这样做。他们只能执行实现一个结果所需的几个活动中的一个。
华体会app下载二维码重构一个JavaScript视频存储
1999年,计算和格式化一家音像店账单的简单示例打开了我关于重构的书。华体会app下载二维码如果使用现代JavaScript进行重构,那么重构有几个方向。华体会app下载二维码我在这里探讨了四个方面:重构到顶级函数、重华体会app下载二维码构到带有分派器的嵌套函数、使用类和使用中间数据结构进行转换。
进化的数据库设计
在过去的十年中,我们开发和改进了许多技术,使数据库设计随着应用程序的发展而发展。这是敏捷方法非常重要的能力。这些技术依赖于对数据库开发应用持续集成和自动重构,以及dba和应用程序开发人员之间的密切合作。华体会app下载二维码这些技术既适用于预生产系统,也适用于发布系统,也适用于未开发项目和遗留系统。
为它而生
对不善社交的白人男性程序员的刻板印象已经存在很长时间了。尽管“科技行业的多样性”是一个被广泛讨论的话题,但相关数据并没有好转。相反,许多IT行业内外的人仍然想当然地认为这种刻板印象是自然的规范,这种看法是阻碍我们使这个职业更具有包容性和吸引力的原因之一。那么,这个形象是从哪里来的呢?世界程序员的人口结构真的因为“男孩更喜欢电脑”而自然进化吗?是什么塑造了我们对程序员的看法?这篇文章是关于一些可能的解释,我发现当阅读有关计算的历史。
基础设施代码
作为代码的基础设施是一种通过源代码定义计算和网络基础设施的方法,然后可以像对待任何软件系统一样对待源代码。这样的代码可以保存在源代码控制中,以允许审计和ReproducibleBuilds,受测试实践和完整的纪律ContinuousDelivery.这是过去十年来处理经济增长的一种方法CloudComputing平台将成为未来处理计算基础设施的主要方式。
不仅仅是站着:日常站立会议的模式
每天站立会议已经成为许多团队的常见仪式,特别是在敏捷软件开发中。华体会登录网址然而,有许多微妙的细节可以区分有效的站立和浪费时间。