相关疑难解决方法(0)

一个函数应该只有一个return语句吗?

是否有充分的理由说明为什么在函数中只有一个return语句是更好的做法?

或者,一旦逻辑正确就可以从函数返回,这意味着函数中可能有很多返回语句?

language-agnostic coding-style

781
推荐指数
28
解决办法
23万
查看次数

360
推荐指数
342
解决办法
288万
查看次数

无限循环 - 顶部还是底部?

本着问题的精神,你的循环测试是在顶部还是底部?:

你使用哪种风格进行无限循环,为什么?

  • 而(真){}
  • do {} while(true);
  • for(;;){}
  • label:...转到标签;

c c++ coding-style

10
推荐指数
6
解决办法
3509
查看次数

有没有理由不使用"这个"("自我","我",......)?

我读了这个答案及其评论,我很好奇:有没有理由不使用this/ Self/ Me

顺便说一句:如果之前有人询问过,我很抱歉,似乎无法this在SO上搜索这个词.

programming-languages multiple-languages

10
推荐指数
3
解决办法
1562
查看次数

条件表达式中的常量值

关于无限循环编码风格问题中,有些人提到他们更喜欢for(;;)样式,因为while(true)样式在MSVC上给出关于条件表达式是常量的警告消息.

这让我感到非常惊讶,因为在条件表达式中使用常量值是避免#ifdef地狱的有用方法.例如,您可以在标题中:

#ifdef CONFIG_FOO
extern int foo_enabled;
#else
#define foo_enabled 0
#endif
Run Code Online (Sandbox Code Playgroud)

代码可以简单地使用条件并信任编译器在未定义CONFIG_FOO时删除死代码:

if (foo_enabled) {
    ...
}
Run Code Online (Sandbox Code Playgroud)

每次使用foo_enabled时,不必测试CONFIG_FOO:

#ifdef CONFIG_FOO
if (foo_enabled) {
    ...
}
#endif
Run Code Online (Sandbox Code Playgroud)

这种设计模式一直在Linux内核中使用(例如,include/linux/cpumask.h在禁用SMP时将几个宏定义为1或0,在启用SMP时定义为函数调用).

MSVC警告的原因是什么?另外,有没有更好的方法来避免#ifdef hell而不必禁用该警告?或者这是一个过于广泛的警告,一般不应该启用?

c c++ warnings visual-c++

8
推荐指数
2
解决办法
4900
查看次数

与匈牙利表示法相反?

大多数程序员都知道一种叫做"匈牙利表示法"的东西,每个变量都有一个很好的前缀来表示它的数据类型,即

bIsExciting = false;    // Boolean
strName = "Gonzo";      // String
iNumber = 10;           // Integer
Run Code Online (Sandbox Code Playgroud)

虽然这种符号形式已经失宠,但我看到(在工作中,互联网等)许多数据类型指标被添加为变量名称的" 后缀 ",即

NameStr = "Gonzo";        // String
NumberInt = 10;           // Integer
MyRideBike = new Bike();  // Bicycle
Run Code Online (Sandbox Code Playgroud)

当数据类型后缀为变量名时,是否有这个名称?

编辑:澄清......,这样的东西是否有一个独特的名称?如果没有,一些关于如何称呼它的简明想法肯定会受到赞赏.

language-agnostic naming-conventions hungarian-notation

8
推荐指数
2
解决办法
2103
查看次数

可读的SQL别名

由于我确信很多人都有不同的标准,所以我将这篇文章称为社区维基.

我的问题是,表别名有什么好的命名方案?我一直在使用表名中每个单词的第一个字母,但它已经变得非常难以理解了.这是一个简单的例子.

FROM incidents i
FROM cause_attack ca
FROM obscure_table ot
Run Code Online (Sandbox Code Playgroud)

谢谢.

sql oracle alias

1
推荐指数
2
解决办法
597
查看次数

"每个命名空间应该存在于自己的程序集中"请解释

我得到了一个项目的标准.它必须以特定的方式构建.我知道这不是一个很好的问题,但我的C#真的很生疏.规范说明:

应用程序命名空间应遵循(但不限于)以下[实际名称已更改]:

AnExample.Sample.Foo
AnExample.Sample.Foo.UnitTests
AnExample.Sample.Bar
AnExample.Sample.Bar.UnitTests
Run Code Online (Sandbox Code Playgroud)

那个"each namespace should exist within its own assembly".

我有点困惑 - 要求什么以及如何实现它?对于存在于其中的每个命名空间的"自己的程序集",它必须是一个单独的项目并引用它还是文件夹结构?

c# wpf

0
推荐指数
1
解决办法
205
查看次数

干净代码的“童子军规则”

我正在使用 Asp.net mvc Web 应用程序,但我的朋友说大部分时间使用干净的代码,说童子军规则适用于干净的代码

谁解释一下。最短和最合适的方式

谢谢你

c# asp.net-mvc coding-style

0
推荐指数
1
解决办法
2041
查看次数