问题标签 [redundancy]
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.
php - 查找冗余用户函数
我正在分析一个应用程序,该应用程序在许多文件中都有大量函数,并且我正在尝试隔离那些永远不会被调用的函数。
在我继续之前有什么想法吗?
language-agnostic - 如何设计一个主实体表有 25+ 列但单个实体的列平均填充 <20% 的数据库?
要存储的实体有 25 多个属性(表列)。实体非常多样化,这意味着大多数列都是空的。我想说,平均而言,不到 20% (<5) 的属性在任何特定项目中具有价值。因此,对于大多数表行,我有很多冗余的空列。几乎所有的列都是十进制数。
鉴于这种情况,您是否建议将列序列化,或者创建另一个名为“Property”的表,该表将包含所有可能的属性,然后创建另一个表“EntityProperty”,该表将使用外键将属性映射到实体? 或者你会保持原样吗?
可能发生这种冗余的示例场景如下:
我们有一个虚构的宇宙,里面有很多行星。我们正在创建一个太空采矿游戏,每个星球都有 30 种不同的矿物含量。大多数行星只有2-3种矿物质。
最简单的解决方案是创建一个包含 30 列的“Planets”表,每种矿物一个列。这里的问题是,“Planets”表中的大多数行都有 25 多列,其中每一列的值为空或零。因此我们有很多冗余数据。比如说,我们将有 500k-1M 条记录。我猜想保存一个空或零十进制值最多需要一个字节。因此,我们浪费了 500,000-1,000,000 字节的空间,即。最多一兆字节。
另一种解决方案是创建两个额外的表。我们没有将所有矿物质存储在“行星”表中,而是将它们全部取出并创建一个名为“矿物质”的矿物质表。这将仅包含 30 行,每行用于每种不同的矿物类型。然后,我们创建一个名为“PlanetMineral”的表,其中包含对行星行和矿物行的引用,此外,该表还有一列说明行星所含矿物的数量。显然,在许多数据库系统中,这会使查询复杂化,因为您必须进行可能的多个连接。我正在使用带有 LINQ to SQL 的 SQL 服务器,它将外键约束搭建到类对象属性中,可通过代码访问。(即。我可以简单地使用planet.Minerals 访问行星所拥有的矿物质)所以,从这个角度来看,它没有 t 增加复杂性。冗余是第一个解决方案的一小部分(如 1/15)。仍然存在一些开销的原因是因为我们需要存储外键。
至于数据查询效率,我真的不知道这两种解决方案的查询成本会如何。
iphone - PHP 的等价物包含在 Iphone 开发中吗?
我刚刚注意到我的项目中从一个类到另一个类有很多冗余代码(如菜单或按钮);)
有什么办法可以优化吗?
谢谢 !
哥提。
java - 您是否在构造函数的开头放置了 super() 调用?
这是一个关于编码风格和推荐实践的问题:
正如问题的答案中所解释的,不需要将 super() 放入构造函数中?,如果您为应该使用超类中的默认(无参数)构造函数的类编写构造函数,则可以super()
在构造函数的开头调用:
但你也可以省略调用;在这两种情况下,编译器都会像 super() 调用一样。
那么,您是否将调用放入构造函数中?
一方面,有人可能会争辩说,包括在内super()
会使事情更加明确。OTOH,我总是不喜欢编写冗余代码,所以我个人倾向于将其省略;但是,我确实经常在其他人的代码中看到它。
你有什么经验?您对一种或另一种方法有疑问吗?您是否有规定一种方法的编码指南?
顺便说一句:一个相关的问题(仅供参考):
embedded - 压缩包含时间冗余的三个单独的 jpeg 图片?
我将嵌入式设备与相机模块连接起来,每次触发它时都会返回一个 jpeg 压缩帧。
我想连续拍摄三张照片(大约每 1/4 秒 1 帧),然后将图像进一步压缩成一个文件。这里的假设是有很多时间冗余,因此有很多空间可以在三个帧之间进行更多压缩(与发送三个单独的 jpeg 图像相比)。
我将在没有任何库和操作系统的 C 嵌入式设备上实现该解决方案。
相机将在一个几乎没有移动的区域拍照(背景中没有访客或屏幕,可能是一棵摇曳的树枝),所以我认为我关于冗余的假设非常可靠。
当最终在 pc/mac 上查看文件时,我不介意写一些东西来提取三个帧(所以它可能是一个非标准的线索)
所以我想实际的问题是:考虑到它们已经是JPEG格式,将这三个图像压缩在一起的最佳方法是什么(有可能转换回原始图像,但如果我也没有.. .)
mysql - 优化 Mysql 以避免冗余但仍然可以快速访问可计算的数据
一个问题的例子:我有一个包含用户、问题和答案的数据库。每个用户都有一个分数,可以使用问题和答案表中的数据来计算。因此,如果我在 users 表中有一个 score 字段,那将是多余的。但是,如果我不使用分数字段,那么每次计算分数都会显着降低网站速度。
我目前的解决方案是将它放在一个分数字段中,然后每隔几个小时运行一次 cron,它会重新计算每个人的分数,并更新该字段。
有没有更好的方法来处理这个?
python - while循环中的小代码冗余(感觉不干净)
所以,在 Python 中(尽管我认为它可以应用于许多语言),我发现自己经常遇到这样的事情:
也许我太挑剔了,但我不喜欢这条线the_input = raw_input("what to print?\n")
必须重复。它降低了可维护性和组织性。但我没有看到任何避免重复代码而不进一步恶化问题的解决方法。在某些语言中,我可以这样写:
这绝对不是Pythonic,Python 甚至不允许在循环条件 AFAIK 内进行赋值。
这个有效的代码修复了冗余,
但也感觉不太对。这while 1
意味着这个循环将永远运行;我正在使用一个循环,但给它一个假条件并将真实的条件放入其中。
是我太挑剔了吗?有一个更好的方法吗?也许有一些我不知道的为此设计的语言结构?
database - 存储经常变化的数值时的数据库冗余
对于我的下一个应用程序,用户可能会有一些不断变化的“点”。例如,用户可能会因执行一项任务而获得一定数量的积分、被拿走积分或将积分捐赠给他们。
我想知道除了“历史”表(其中将包含每个用户的增量和减量)之外,是否存储该值并不断更新它,或者在需要时计算用户当前的点数历史表。
显然,存储此值会带来冗余,但可能比从历史表中的多行计算点数数百次更可取。
.net - 在 WCF 调用中处理 SQL 连接的最佳做法是什么?
假设我想创建一个(无状态)WCF 服务,该服务在端点上公开了三个方法:performSqlOperationA()
、performSqlOperationB()
和performSqlOperationC()
。每种方法都将数据插入 SQL 数据库。
就像我在办公室看到的那样,每个方法都以初始化 SqlConnection 对象的代码开始。每种方法都以安全处置它的代码结尾。
对这些 WCF 方法进行编码以便在每个方法中初始化和处置 SqlConnection 对象而不必在每个方法中执行这些操作的好做法是什么?我知道我可以在 WCF 方法的类的构造函数中初始化连接,但我不知道如何处理它......调用不能包装在一个using
块中。
我熟悉的一种解决方案是PostSharp,它允许我设置一个属性,使特定代码在每个方法调用的开始和结束时自动运行,但最好只使用 .net 框架来执行此操作。
c# - 有什么理由这不是冗余代码吗?
我在一些现有的代码库中遇到了这段代码:
它似乎基本上只是使off
等于rad
。这些变量稍后在代码中可互换使用。有什么理由留下这段代码吗?