我正在从事 Angular 项目(Angular 14+)并遵循原子设计原则(创建分钟级组件,如按钮、输入、切换等)。 大多数视图(列表、forms、标题)基于来自服务器的 JSON(说明组件的内容和位置)。 服务器还发送 function enums来执行特定功能。 例如,在按钮上单击导航到特定屏 ...
我正在从事 Angular 项目(Angular 14+)并遵循原子设计原则(创建分钟级组件,如按钮、输入、切换等)。 大多数视图(列表、forms、标题)基于来自服务器的 JSON(说明组件的内容和位置)。 服务器还发送 function enums来执行特定功能。 例如,在按钮上单击导航到特定屏 ...
我想确信“重新渲染时 Props 被覆盖”是一种反模式。 更新代码笔: https://codepen.io/SVSMITH/pen/LYrXRzW 谁能帮忙? ...
我见过这样的短语“我不想让你理解为什么它没有 if 语句,但我想了解有时你可以以不同的方式看到问题并重写它以便特殊情况消失并且成为一个正常的情况”,由 Linus Torvalds 撰写。 你能解释一下他的意思吗? If语句有什么问题? ...
我们目前正在开发一个应用程序,它将物联网数据存储在数据库中(像处理平均值等一样处理它),并通过 Rest API 使其可用。 我们的第一个当然是构建一个应用程序(良好的旧单体),它将获取数据(主要通过 MQTT 端点)并通过 rest API 使它们可用。 我们正在考虑微服务(我猜我们的用例会适合 ...
每当有任何与组件相关的异步任务执行并且该组件卸载时,React 通常会给出这个警告 - Can't perform a React state update on an unmounted component This is a no-op, but it indicates a memory ...
考虑以下(非常简化的)项目结构: “collections”子目录名称隐藏了 Python 的“collections”模块。 “validators”子目录名称隐藏了“validators”第 3 方 package 名称。 问题: 拥有与 Python 模块或 3rd-party 包同名的 ...
这是一个 class 在应用程序的整个生命周期中仅实例化一次 方法“DoOperation”操作将在应用程序生命周期内多次调用。 在“DoOperation”方法中,我使用“new”关键字实例化“SampleService”,我不想这样做,原因如下它打破了单一责任原则 (SRP),因为创建 Sam ...
在阅读有关 GRASP 模式的信息时,我在 Information Expert 停下来,它指出类 state 的行为应该在同一个 class 内。 但这与我多年来使用的服务层模式完全相反。 服务具有域对象的 state 的行为。 这让我感到困惑我将不胜感激周到的回答。 ...
假设一个函数不能计算一个有效的返回值。 例如,字典查找可能无法找到键。 当函数返回一个值或不返回值时,这种情况的最佳实践是什么? 1. Return None :例如, dict.get()就是这种模式。 这种方法的缺点是客户端需要检查返回值是否为None并根据它做一些事情。 例如, def ...
我要解决的问题是如何最好地从一组问题/答案字符串中生成唯一的字符串。 假设最终用户填写问卷并回答以下问题: 我需要生成一个代表这些问题和答案的字符串,然后将 map 生成到 templateId 以向其发送模板化消息。 我考虑过简单地运行一个 foreach 并将所有问题和响应添加在一起,但问题是如 ...
注入相同的 class 是一个好习惯吗? 在 PHPunit 测试期间,我多年来一直使用自注入来隔离方法: 要测试 calculate() 方法,我不能只调用它,因为它调用方法 getDiametr(),这取决于其他特征或 class。 而且我认为测试模拟的 class 是不好的做法。 所以我在我的 ...
正如 Steven van Deursen 和 Mark Seemann 在 Manning 的书“依赖注入原理、实践和模式”(我推荐为必读)中所定义的,有一种特定的反模式对我来说很有趣,那就是环境上下文反模式。 这里也有描述。 一般问题是,如果您在 static class 后面放置一些易失性 ...
如果您希望 class 支持事件,从 EventEmitter 继承似乎是一种常见的做法。 例如,谷歌为Puppeteer做这件事, WebSocket 模块做它, mongoose 做它,......仅举几例。 但这真的是好习惯吗? 我的意思是它看起来很干净,但从 OOP 的角度来看,它似乎是错 ...
是否可以检索由 lombok 生成的构建器上的字段值? 似乎 lombok 构建器不会为他们可以构建的字段公开 getter,因此在上面的代码中, builder.isSuccess()不存在。 是否有可能做到这一点,或者它是一种反模式? 另一种方法是从catch块返回,但 IMO 在一个方法中多次 ...
在我们的“SearchUsecase”中,我们可以直接访问“ShowFtsDao”。 它是否违反了清洁架构原则? 它是否违反了 MVVM 架构? 假设我们的意图是开发一个构建良好的标准结构,那么这段代码有什么问题吗? ...
我一直在阅读并看到在 promise 构造函数中使用 async/await 是一种反模式。 我在当前项目中有以下代码,我希望重构它,但不太确定我应该如何 go 来做这件事。 我尝试了以下方法,但在 finally 方法中出现错误 我正在将 jsstore 用于数据库https://jsstore ...
通过包装器向 function 添加参数是 python 反模式吗? 我想添加一个包装器,将许多函数的 output 保存到一个位置,所以包装器似乎很有意义。 However, Pycharm fails to autocomplete the arguments to a decorated f ...
我贴了下面的代码,被骂了。 为什么这是不可接受的?numberOfLines=$(wc -l <"$1") for ((i=1; $i<=$numberOfLines; ++$i)); do lineN=$(sed -n "$i!d;p;q" "$1") # ... do th ...
我从这个问题中看到,将Promise与async代码混合可能是一种反模式。 但是,这是否适用于所有情况? 我看不到避免在以下代码中组合它们的简单方法: 它是setInterval的替代方法,它在安排下一个调用之前等待调用完成但是,与递归setTimeout不同,它在尚不支持TCO 的浏览器中不构成 ...
这种反模式有名字吗? 我可以描述它的最佳方式是“调用 function 以获得潜在效果,而不是其主要目的”。 Function A 做 X 和 Z Function B 做 Y 和 Z Function A 调用 Function B 以执行 Z。 这种反模式的问题: 缺乏代码表现力冗余代码执 ...