• Refactoring is tactical, remodelling is strategic.重构是战术性的!  重新建模是战略性的。重构好像已经变成了提高软件质量的专有名词,这个词语是由Martin Fowler提出,并专门出版了两版的《重构》书籍,被誉为“圣书宝典”
  • 领域驱动设计中有一个重要方面很少被提及。我认为这是 DDD 最重要的方面,但是如果您在网上搜索“领域驱动设计”,您不会找到它。这件宝藏一直隐藏在人们的视线中。这是 Eric Evans 的 DDD 书第 8 章中的 Share Pie 故事。(Share Pie是一种投资组合份额策略
  • 比尔盖茨在地球范围内搞内卷化,马斯克着眼火星外卷化,这是他们两个方向性最大不同:马斯克和比尔盖茨曾经先后成为过世界首富,但是他们的思维模式不同,比尔盖茨做了很多慈善项目,主要是立足于地球这个边界内,让人类生活得更美好。“如果我们不采取行动,到21世纪中叶,气候变化可能变得跟新冠肺炎一 icon
  • 根据我的经验,将软件开发重点放在重用上是错误的。相反,专注于重构文化:这不仅会产生质量越来越高的更简单的软件,而且随着时间的推移,重用将以模式和框架的形式出现。 众说纷纭:只有当我们注意到我们一次又一次地做同样的事情时,重用才会出现。 重用应该是一种重 icon
  • 根据Stepsize 的一项新研究,5 icon
  • 业务:重建模remodeling架构:重建reconstructing开发:重构refactoring 重建模与重构的区别三者目 icon
  • 重构这个词语refactoring的德文定义: icon
  • Stack Overflow的2020年调查结果对“最恐惧的编程语言”和“最喜欢的编程语言”进行了排名。这两个排名都来自这个问题:在过去的一年中,您完成了哪些编程,脚本和标记语言的广泛开发工作,并且在接下来的一年中又要进行哪些工作?(如果您既使用了该语言,又想继续使用该语 icon
  • 以下是无法理解Bug分类:很难复制你不太了解整个系统很难获得有关Bug的数据你的假设之一是错误的这个bug真的很复杂 1.本地难以重现的bug icon
  • 嵌套结构难以阅读;管道stream通常更容易阅读和思考。嵌套结构具有“厄运之箭”的感觉,您需要同时管理所有父结构的上下文;而管道stream通常是线性的。 许多语言都添加了“函数式管道”风格,建立在首先在 Lisp 中探索的 map-filter-reduce 的基础上,哦, icon
  • 牢记业务上下文的技术决策建议,业务上下文是唯一的衡量软件质量的关键指标。如果有事情不对劲,软件工程师会感到不安。学生或初级工程师由于不熟悉编程概念而感到不安。渐渐地,我们对更高层次的抽象感到不安:我们不再会像当初因缺乏理解而烦恼,而是知道系统确实属于有害反模式时,会更加不安。 icon
  • 矮人要塞(Dwarf Fortress)是一款免费游戏,可以随机生成的幻想世界中扮演冒险家或充满矮人的堡垒。这一切都发生在一个 ASCII 界面中。整个游戏是开发者 Tarn Adams(又名 Toady One)的产品,他自 2002 年以来一直在 Dwarf Fortress 工 icon
  • 有时,我们的代码库中可能会出现一些巨大的“if”语句。必须维护这些语句并一遍又一遍地更改相同的代码块。这在“if”语句检查变量是否属于某个值范围的情况下也很常见。假设你有一个枚举: icon
  • 事件溯源是高性能协作域的一种很好的架构风格,可以保证它增加的复杂性。但正如我之前所说,就像任何其他原则或实践一样,即使是事件溯源也有利有弊。而且它不是顶级架构。您系统的某些部分可能会从中受益,但其他部分可能不会。话虽如此,如果您需要事件溯源,并且您有一个现有的、更传统的(又名 CRUD)应用 icon
  • 单一责任/职责原则(SRP):“一个模块应该只承担一个责任”。 示例:客户Customer类。 generateInvoice:计算客户必须支付的金额。  computeDiscount:为客户返回%折扣。  save:将客户存储在数据库中。 icon
  • 正确实施时,微服务比单体应用具有很多优势。许多组织希望将其单体应用程序代码更改为微服务代码。事实证明,迁移到微服务并不容易。您应该问的第一个问题是,您真的需要微服务吗?单体的许多问题可以通过使用模块化单体架构轻松解决。一旦确定需要微服务,就必须制定将单体应用转换为微服务的计划。有一些模式可以 icon
  • API 重构是通过观察进出该 API 的流量来构建 API 规范。如果做得好,API 重构可让您了解微服务使用的 API,并使您能够评估 API 安全风险。构建规范后,相同的工具可以将运行时流量与规范进行比较以检测偏差。API 规范的关键组件包括: 参数检测(路径、头 icon
  • 任何在大公司建立机器学习模型的人都会认识到。对成熟的机器学习系统进行可衡量的改进是极其困难的:机器学习系统极其复杂,并且具有破坏软件组件之间抽象的令人沮丧的能力。这对 ML 成功必不可少的迭代开发类型提出了广泛的挑战。 大多数软件系统会仔细控制哪些层需要相互通信以及需 icon