Questions tagged «language-agnostic»

将此标签用于独立于任何特定编程语言的编程问题。


2
什么是调试器,它如何帮助我诊断问题?
这旨在作为一个通用问题,以帮助遇到程序问题但不知道如何使用调试器诊断问题原因的新程序员。 该问题涵盖三类更具体的问题: 当我运行程序时,它不会产生我期望输入的输出。 当我运行程序时,它崩溃并给了我堆栈跟踪。我已经检查了堆栈跟踪,但是我仍然不知道问题的原因,因为堆栈跟踪没有为我提供足够的信息。 当我运行程序时,它由于分段错误(SEGV)而崩溃。



8
语义差异实用程序
关闭。此问题不符合堆栈溢出准则。它当前不接受答案。 想改善这个问题吗?更新问题,使其成为Stack Overflow 的主题。 5年前关闭。 改善这个问题 我试图找到一些语义差异/合并实用程序的好例子。比较源代码文件的传统范例是通过比较行和字符来实现的..但是,是否有任何实用程序(对于任何语言)在比较文件时实际考虑代码的结构? 例如,现有的差异程序将报告“在第125行的字符2处发现差异。文件x包含void,文件y包含bool”。一个专门的工具应该能够报告“方法doSomething()的返回类型从void变为bool”。 我认为这种类型的语义信息实际上是用户在比较代码时要寻找的信息,应该成为下一代编程工具的目标。可用工具中是否有此示例?

26
如何将浮点数转换为人类可读的分数?
假设我们有0.33,我们需要输出1/3。 如果有0.4,我们需要输出2/5。 这样做的想法是使其易于阅读,以使用户理解y中的 “ x个部分 ”,从而更好地理解数据。 我知道百分比是一个很好的替代品,但我想知道是否有一种简单的方法可以做到这一点?

11
您应该如何从源代码控制构建数据库?
在SO社区Wiki上已经进行了一些讨论,即是否应该对数据库对象进行版本控制。但是,关于创建数据库对象的构建自动化过程的最佳实践,我还没有看到太多讨论。 对于我的团队来说,这一直是一个有争议的讨论点,尤其是因为在评估自动化数据库部署方法的收益和风险时,开发人员和DBA通常具有不同的目标,方法和关注点。 我想听听SO社区的一些想法,这些想法在现实世界中是有效的。 我意识到哪种做法​​真正最好是有些主观的,但是我认为就什么工作进行很好的对话可能对许多人有帮助。 这是我对本主题关注领域的一些预告问题。这些并不是确定的清单,而是帮助人们了解我在寻找什么的起点。 测试和生产环境都应该从源代码控制构建吗? 两者都应该使用自动化来构建-还是应该通过从稳定的最终测试环境中复制对象来构建产品? 您如何处理部署脚本中测试和生产环境之间的潜在差异? 您如何测试部署脚本能否像测试中那样有效地针对生产工作? 哪些类型的对象应进行版本控制? 只是代码(过程,包,触发器,java等)? 索引? 约束? 表定义? 表更改脚本?(例如ALTER脚本) 一切? 哪些类型的对象不应该进行版本控制? 顺序? 补助金? 用户帐号? 在SCM存储库中应如何组织数据库对象? 您如何处理一次性脚本,例如转换脚本或ALTER脚本? 您如何处理从数据库中退出的对象? 谁应该负责将对象从开发提升到测试级别? 您如何协调来自多个开发人员的更改? 您如何处理多个系统使用的数据库对象的分支? 可以合理地对此过程进行哪些例外(如果有)? 安全问题? 数据是否涉及身份识别问题? 不能完全自动化的脚本? 您如何使流程具有弹性和可执行性? 给开发人员报错? 遇到意外的环境问题? 为了灾难恢复? 您如何使决策者相信DB-SCM的优势确实证明了成本合理? 传闻? 行业研究? 行业最佳实践建议? 呼吁公认的当局? 成本效益分析? 在此模型中,谁应该“拥有”数据库对象? 开发人员? DBA? 数据分析师? 超过一个?

5
为什么在C#中不允许使用const参数?
尤其对于C ++开发人员而言,这看起来很奇怪。在C ++中,我们通常将参数标记为const,以确保其状态不会在方法中更改。还有其他C ++特定的原因,例如const ref为了通过ref 传递而传递,并确保不会更改状态。但是为什么我们不能在C#中将其标记为方法参数const? 为什么我不能像下面这样声明我的方法? .... static void TestMethod1(const MyClass val) {} .... static void TestMethod2(const int val) {} ....


30
自从改变主意后,您曾经喜欢哪种编程实践?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 当我们编程时,我们都会开发我们使用和依赖的实践和模式。但是,随着时间的流逝,随着我们的了解,成熟度以及技术使用的变化,我们逐渐意识到,一些曾经认为很棒的做法是不可行的(或不再适用)。 我曾经经常使用但最近几年有所改变的一种做法是使用Singleton对象模式。 通过我自己的经验和与同事的长期辩论,我逐渐意识到单例并不总是令人满意的 -它们会使测试变得更加困难(通过禁止诸如模拟之类的技术),并且会在系统各部分之间产生不良耦合。相反,我现在使用对象工厂(通常使用IoC容器)来隐藏无关紧要或需要知道的系统部分中单例的性质和存在。相反,他们依靠工厂(或服务定位器)来获取对此类对象的访问权限。 我本着自我完善的精神向社区提出的问题是: 您最近重新考虑了哪些编程模式或实践,现在尝试避免? 您决定用什么取代它们?

4
您如何知道何时使用左折和何时使用右折?
我知道向左折叠会产生向左倾斜的树木,向右折叠会产生向右倾斜的树木,但是当我伸手折叠时,有时会发现自己陷入了头痛的想法,试图确定哪种折叠方式是适当的。我通常最终会解决整个问题,并逐步解决适用于我的问题的fold函数的实现。 所以我想知道的是: 确定是左折还是右折的经验法则是什么? 考虑到我面临的问题,如何快速决定使用哪种折叠类型? Scala by Example(PDF)中有一个示例,该示例使用折叠来编写一个称为flatten的函数,该函数将元素列表的列表连接为一个列表。在这种情况下,正确的选择是正确的选择(考虑到列表的合并方式),但是我必须仔细考虑一下才能得出结论。 由于折叠是(功能)编程中的常见操作,因此我希望能够快速而自信地做出此类决定。那么...有什么提示吗?

3
从零开始的月份编号
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 7年前关闭。 某些流行的编程语言使用的月份编号相差1 – Java和Java一样,要想到的是JavaScript,如果提供内存,则C是另一个。我有一些问题: 如果您要忽略外行人使用的月份编号,那么为什么出于一致性考虑,也要忽略外行人使用的日期编号,并从0开始对每个月中的天数进行编号? 为什么这么常见? 首先是谁的主意?

16
“中频”贵吗?
对于我的一生,我无法记住那天老师确切说了些什么,我希望您可能会知道。 该模块是“数据结构和算法”,他告诉我们以下内容: 这if句话是最昂贵的。[某物]注册[某物]。 是的,我的记忆确实很糟糕,真的很抱歉,但是我已经搜寻了几个小时,没有任何反应。有任何想法吗?

18
什么是好的单元测试?[关闭]
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案会得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。 8年前关闭。 已锁定。该问题及其答案被锁定,因为该问题是题外话,但具有历史意义。它目前不接受新的答案或互动。 我敢肯定,你们中的大多数人都在编写大量的自动化测试,并且在进行单元测试时也遇到了一些常见的陷阱。 我的问题是,您是否遵循任何编写测试的行为准则,以避免将来出现问题?更具体地说:好的单元测试的属性是什么?如何编写测试? 鼓励与语言无关的建议。

15
使用很多静态方法是一件坏事吗?
当该类不需要跟踪内部状态时,我倾向于将该类中的所有方法声明为静态的。例如,如果我需要将A转换为B并且不依赖于可能变化的某些内部状态C,则可以创建一个静态转换。如果存在一个我希望能够调整的内部状态C,那么我将添加一个构造函数来设置C,并且不要使用静态转换。 我阅读了各种建议(包括关于StackOverflow的建议),不要过度使用静态方法,但是我仍然无法理解上述经验法则的错误之处。 那是合理的方法吗?

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.