问题标签 [principles]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
54 浏览

python - 我什么时候需要开始将我的函数分组到类中?

我有一个有几个嵌套菜单的 python 脚本,我想问如果我将各个函数组合成类是否更好。我有一个带有两个子菜单的主菜单,每个子菜单都有另一个子菜单。代码在这个链接中:https ://github.com/mangoomeh/clashRoyaleClanManager/blob/master/clash.py

0 投票
0 回答
72 浏览

architecture - REP和CCP的区别

REP我很难理解和之间的区别CRP。有没有人有一个最好的例子直观的解释?

到目前为止我发现了什么:

REP (Reuse-Release-Equivalence-Principle):复用的粒度就是发布的粒度。包中的类应该在内容方面相关,并服务于更高级别的主题。

CRP (Common-Reuse-Principle):组件不打算依赖于它们不需要的类。一起使用的类应归为一个组件。

我不明白的是为什么REP要告诉包容性原则(包裹变大)和CRP排他性原则(包裹变小)?此外,如果某些东西在内容(REP)方面属于一起,那么它不是也一起使用(CRP)吗?

REP如果我只根据和CRP忽略来设计我的包,为什么我会因为太多的组件修改而遇到麻烦CCP (Common-Closure-Principle)

0 投票
1 回答
89 浏览

c++ - 模型上的 QT 无限视图

我正在寻找一种在未完全初始化的模型上创建无限视图的方法。我想创建类似于 Excel 电子表格的东西,我所做的只是从一个初始化模型开始(例如 100x100 空单元格,可能在一个具有空值的数据库上工作),然后动态添加下一行/列(和更新视图)一旦我们接近滚动条的末尾。

但我想知道这是否是最好的解决方案——我想我肯定会从一个只填充部分的模型中受益——我的意思是在模型中只存储关于填充单元格的信息,并让视图处理显示“空单元格” (一旦我们 - 例如 - 单击它们就会创建)。我知道有必要存储 XY 位置和单元格数据(而不仅仅是一个带有数据的 2D 容器),但我想尝试不同的解决方案:

  • a) 有一个类似指针的容器,其中包含一个填充单元的列表,它们在 2D 平面上的位置
  • b) 有一个大小为 (x,y) 的 2D 容器,其中 x 和 y 表示给定维度中的“最后填充的单元格”

对于这两种解决方案,我想在写入数据后动态分配更多位置。

所以我的问题是——如果没有填充空数据的模型甚至可以显示“幽灵单元”,如何使用 QT 模型/视图编程来实现?如果我能简要解释一下它是如何在 excel 等应用程序中完成的,那就太好了。

0 投票
0 回答
10 浏览

conditional-statements - 错误处理是否被视为分支语句?

我读了一个关于“在不使用任何 if-else 语句、分支或直接比较的情况下查找两个数字的最大值”的问题。使用错误处理很容易解决。

但我不确定 try/catch 或 try/except 是否被视为分支语句。你能帮我澄清一下吗?