coding-style相关内容

这里的 const 修饰符不是不必要的吗?

“Effective C++"第 3 条说“尽可能使用 const",并给出了如下示例: const Rational operator*(const Rational& lhs,const 理性&右); 为了防止客户犯下这样的暴行: 有理 a, b, c;...(a * b) = c;//在 a*b! 的结果上调用 operator= 但是函数的非引用返回值不是已经是右值了吗?那么为什么 ..
发布时间:2022-01-23 23:15:36 C/C++开发

在 Oracle 中循环遍历 CURSOR 时使用 EXIT WHEN 指令是一种不好的做法吗?

这听起来像是一个愚蠢的问题,但我希望我能说得足够清楚. 当谈到 Spaghetti Code 时,它的基础是GOTO 的使用.我有一个同行曾经说过如果我在代码末尾放置一个断点并且每次都没有到达这个断点,那么就有问题. 尽管如此,使用 何时退出Oracle 包中的结构(通常后跟 %NOTFOUND测试). 理所当然地使用 EXIT 会破坏编程流程,这不是 1 和 2 之间不匹配的东西吗 ..
发布时间:2022-01-21 00:00:22 数据库

if (NULL == pointer) 与 if (pointer == NULL) 有什么区别?

使用有什么区别: if (NULL == 指针) 并使用: if (指针 == NULL) 我的教授说要使用前者而不是后者,但我看不出两者之间的区别. 解决方案 没有区别.您的教授喜欢的称为 Yoda 条件 另请参阅 《Yoda 条件》、《Pokémon 异常处理》等编程经典. 它应该防止在比较中错误地使用赋值(=)而不是相等(==),但是现代编译器现在应该警告这一点,所以不 ..
发布时间:2022-01-20 23:20:48 C/C++开发

DefType 语句是否被认为是不好的做法?

我希望您对为什么或(为什么不)应该(或不应该)使用此语句的想法. 由于这有点主观,这是我的标准:出于具体原因(而不是不合理的意见)给予支持.接受的最终答案将是最全面的答案. 解决方案 在精心设计的程序中,Defxxx 语句毫无意义,因为所有变量和函数都将被显式键入. 除了一种情况:DefObj AZ,结合 Option Explicit,使任何无类型或未声明的变量、函数或成员( ..
发布时间:2022-01-20 19:21:49 其他开发

为什么从代码中调用事件处理程序是不好的做法?

假设您有一个执行相同任务的菜单项和一个按钮.为什么将任务代码放入一个控件的操作事件中然后从另一个控件调用该事件是不好的做法?Delphi 和 vb6 一样允许这样做,但 realbasic 不允许这样做,并说您应该将代码放入一个方法中,然后由菜单和按钮调用 解决方案 这是你的程序如何组织的问题.在您描述的场景中,菜单项的行为将根据按钮的: procedure TJbForm.MenuIt ..
发布时间:2022-01-20 19:00:59 其他开发

布尔值作为方法参数是不可接受的吗?

我的一位同事表示,布尔值作为方法参数是不可接受的.它们应由枚举代替.起初我没有看到任何好处,但他给了我一个例子. 什么更容易理解? file.writeData(data, true); 或者 枚举 WriteMode {附加,覆盖};file.writeData(数据,追加); 现在我明白了!;-) 这绝对是一个将枚举作为第二个参数使代码更具可读性的示例. 那么,你对这个话 ..
发布时间:2022-01-19 17:14:00 其他开发

明确比较布尔常量是否很糟糕,例如如果(b == false)在Java中?

写不好: if (b == false)//...而 (b != true)//... 总是改写更好: if (!b)//...而 (!b)//... 大概在性能上没有区别(或者有吗?),但是你如何权衡两者之间的明确性、简洁性、清晰性、可读性等? 更新 为了限制主观性,我还希望引用权威编码风格指南中的任何引用,这些引用总是更可取或何时使用. 注意:变量名b只是作为例子,还 ..
发布时间:2022-01-19 16:51:12 Java开发

PHP 返回(值);vs 返回值;

return($var); 和 return $var; 除了用括号括起来有什么区别吗? 解决方案 除非你是通过引用返回,他们的意思是一样的.最好排除括号.来自文档: 注意:请注意,由于 return() 是一种语言结构而不是函数,因此不需要在其参数周围加上括号.将它们排除在外是很常见的,实际上您应该这样做,因为在这种情况下 PHP 要做的工作较少. 注意:当通过引用返回时,你 ..
发布时间:2022-01-19 15:18:58 PHP

main() 中的 return 语句与 exit()

我应该在 main() 中使用 exit() 还是只使用 return 语句?我个人喜欢 return 语句,因为我觉得它就像阅读任何其他函数一样,并且当我阅读代码时流控制很流畅(在我看来).即使我想重构 main() 函数,使用 return 似乎比 exit() 更好. exit() 会做任何 return 不会做的特殊事情吗? 解决方案 其实是有的,但是很微妙.它对 C++ 的 ..
发布时间:2022-01-19 14:33:29 C/C++开发

在 switch-case 中使用花括号时的“break"语句

我在 C/Objective-C/C++ 中的所有 switch case 语句中都使用花括号 直到几分钟前,我才考虑在大括号内包含 break; 语句是好还是坏.我怀疑这无关紧要,但我认为这仍然值得一问. 开关 (foo) {情况1: {//东西休息;}默认: {休息;}} 对 开关 (foo) {情况1: {//东西} 休息;默认: {//东西} 休息;} 解决方案 简答: ..
发布时间:2022-01-19 10:51:38 其他开发

用 return .. 和默认情况下打破

我的强迫症让我在编写 case 语句时添加“break",即使它们不会被执行.考虑以下代码示例: 开关(选项){情况1:a = 1;b = 7;休息;案例2:a = 2;b = 4;返回(-1);休息;默认:a = -1;休息;} 我的两个问题是: 对于“案例 2:",我真的不需要休息,但无论如何把它放在那里是个好主意吗?对于“默认:".是纯粹的强迫症,还是有什么真正的理由在这里休息? ..
发布时间:2022-01-19 10:37:00 其他开发

在开关中使用“goto"?

我看到了一个建议的编码标准,它是 Never use goto unless in a switch statement fall-through. 我不关注.这个“异常"案例究竟是什么样的,可以证明 goto 的合理性? 解决方案 这个构造在 C# 中是非法的: 开关(变量){案例2:Console.WriteLine("变量是 >= 2");情况1:Console.WriteL ..
发布时间:2022-01-19 10:25:30 C#/.NET

switch 语句不好?

我最近了解到 switch 语句在 OOP 中很糟糕,特别是来自 Robert Martin 的“Clean Code"(p37-39). 但是考虑一下这个场景:我正在编写一个游戏服务器,接收来自客户端的消息,其中包含一个整数,表示玩家的动作,例如移动、攻击、拾取物品……等等,会有超过 30 种不同的行动.当我编写代码来处理这些消息时,无论我想到什么解决方案,它都必须在某个地方使用 swit ..
发布时间:2022-01-19 10:24:01 其他开发

切换语句失败...应该允许吗?

从我记事起,我就一直避免使用 switch 语句.实际上,我不记得它曾经作为一种可能的做事方式进入我的意识,因为它很早就被钻进我的脑海,它只不过是 switch 语句中的一个错误.但是,今天我遇到了一些设计使用它的代码,这让我立即想知道社区中的每个人对 switch 语句的失败有何看法. 这是编程语言明确不允许的(就像 C# 一样,尽管它提供了一种解决方法)还是任何语言的功能强大到足以让程序 ..
发布时间:2022-01-19 10:15:32 其他开发

Qt 小部件的命名约定

我正在与一群其他程序员合作开发一个使用 C++ 和 Qt 构建的开源项目. 现在,我们需要一个小部件(以及其他一般变量)的命名约定,以便在我们所有的代码中使用它作为标准,这样代码就具有更好的可读性,并且我们可以更好地协调程序员. 有什么建议吗? 编辑:我不是在谈论命名新类, 我说的是 Qt Widgets 的命名实例,假设我有一个用户名的文本编辑,我应该将其命名为 txtE ..
发布时间:2022-01-18 22:45:07 C/C++开发

Qt 设计器与手工编码

每次我使用一些图形工具包开始一个项目时,第一个冲突都会发生在如何处理视觉设计和小部件布局的决定上:图形工具还是手工编码? 这是一个相当棘手/主观的问题,因为大多数人会根据个人喜好做出决定.它还很大程度上取决于图形工具的质量.在这种情况下,我想只关注最新版本的 QT 库.我不打算讨论哪种方法更好.我相信最好的答案是:取决于项目. 我想要的是参考一篇好的无偏见文章,基于几个项目的经验.文章 ..
发布时间:2022-01-18 22:39:59 其他开发

为所有 TextView(或自定义视图)设置样式,而不向每个 TextView 添加样式属性

有没有办法格式化所有的 TextViews、Buttons 或任何带有主题的东西?当我想格式化所有 a-tags 时,就像在 CSS 中一样 一个{/这里有一些 CSS/} 当我将主题应用到我的应用程序时,我想通过 xml 在 android 中执行此操作.有什么想法吗?谢谢 http://bartinger.at/ 更新 1.0:我想创建一个主题,将所有 TextView ..
发布时间:2022-01-18 22:29:03 移动开发