通常在ANSI C代码中,我可以看到括号中的单个返回值.
像这样:-
int foo(int x) {
if (x)
return (-1);
else
return (0);
}
Run Code Online (Sandbox Code Playgroud)
为什么在这些情况下使用返回值周围的?有任何想法吗?我认为没有理由.
我一直在尝试遵循StyleCop关于项目的指导原则,看看最终的代码是否更好.大多数规则都是合理的,或者是关于编码标准的意见问题,但有一条规则让我感到困惑,因为我没有看到其他人推荐它,而且因为我没有看到明显的好处:
SA1101:对{method或property name}的调用必须以'this'开头.前缀表示该项是该类的成员.
在缺点方面,代码显然更加冗长,遵循该规则有什么好处?这里有人遵循这条规则吗?
什么时候应该使用for循环而不是while循环?
我认为以下循环是相同的,除了它们的语法.如果是这样,为什么选择一个而不是另一个呢?
int i;
for (i = 0; i < arr.length; i++) {
// do work
}
int i = 0;
while (i < arr.length) {
// do work
i++;
}
Run Code Online (Sandbox Code Playgroud) 出于某种原因,我无法使用以下JavaScript设置"顶部"和"左侧"CSS属性.
var div = document.createElement('div');
div.style.position = 'absolute';
div.style.top = 200;
div.style.left = 200;
document.body.appendChild(div);
Run Code Online (Sandbox Code Playgroud)
用Firebug我可以看到div获取position设置为"absolute",但top和left属性没有设置!
这适用于Firefox 3.6.
让我们说你有:
if(condition) {
i = 1;
} else {
i = 2;
}
Run Code Online (Sandbox Code Playgroud)
你需要发表评论解释if和else阻止.什么是最易读的方式,所以有人可以在第一眼就轻松拿起它们?
我通常这样做:
//check for condition
if(condition) {
i = 1;
} else {
//condition isn't met
i = 2;
}
Run Code Online (Sandbox Code Playgroud)
由于评论位于不同的级别,我觉得不够好,所以快速浏览一下你就会发现if评论和else评论看起来像是属于某种内部结构.
把它们像这样:
if(condition) {
//check for condition
i = 1;
} else {
//condition isn't met
i = 2;
}
Run Code Online (Sandbox Code Playgroud)
对我来说也不好看,因为看起来整个结构都没有评论(条件可能很大并且需要多行).
像这样的东西:
//check for condition
if(condition) {
i = 1;
//condition isn't met
} else {
i = 2; …Run Code Online (Sandbox Code Playgroud) 不要混淆如何拆分字符串解析明智,例如:
在C++中拆分字符串?
关于如何在c ++中将字符串拆分为多行,我感到有点困惑.
这听起来像一个简单的问题,但请采取以下示例:
#include <iostream>
#include <string>
main() {
//Gives error
std::string my_val ="Hello world, this is an overly long string to have" +
" on just one line";
std::cout << "My Val is : " << my_val << std::endl;
//Gives error
std::string my_val ="Hello world, this is an overly long string to have" &
" on just one line";
std::cout << "My Val is : " << my_val << std::endl;
}
Run Code Online (Sandbox Code Playgroud)
我意识到我可以使用这个std::string append()方法,但我想知道是否有任何更短/更优雅(例如更多pythonlike,但显然三重引号等在c ++中不支持)的方式将c ++中的字符串分解为多行为了缘故可读性. …
最近我看到了很多这样的事情:
<a href='http://widget-site-example.com/example.html'>
<img src='http://widget-site-example.com/ross.jpg' alt='Ross's Widget' />
</a>
Run Code Online (Sandbox Code Playgroud)
在HTML中使用单引号是否有效?正如我在上面强调的那样,它也存在问题,因为你必须逃避撇号.
我已经在C#中编程了一段时间,现在我想要提高我的C++技能.
上课:
class Foo
{
const std::string& name_;
...
};
Run Code Online (Sandbox Code Playgroud)
什么是最好的方法(我只想允许对name_字段的读访问):
inline const std::string& name() const { return name_; }谢谢.
我注意到在片段的Android参考(特别是DialogFragment)中,他们做了一些与我期望的不同的事情:
1).使用public static foo newInstance()方法而不是构造函数.
2).使用setArguments而不是成员变量将值传递给onCreateDialog.
我已经读过,使用反射时newInstance似乎更适合.但是我真的不明白为什么他们通过捆绑传递参数.虽然使用成员变量会更安全(不使用字符串从地图中获取)并且会减少开销.
有什么想法吗?
我刚刚安装了ReSharper的试用版,我注意到的第一件事就是它总是建议用隐式类型的替换显式类型的局部变量,例如:
public string SomeMethod(int aParam)
{
int aNumber = SomeOtherMethod(aParam);
// should be changed to:
var aNumber = SomeOtherMethod(aParam);
}
Run Code Online (Sandbox Code Playgroud)
我认为显式类型变量更具可读性(更明确).
您如何看待ReSharper的建议?使用隐式类型变量有什么优势吗?你什么时候使用implicit/explict vars?
coding-style ×10
syntax ×3
c# ×2
c++ ×2
.net ×1
android ×1
apostrophe ×1
c ×1
comments ×1
control-flow ×1
html ×1
java ×1
javascript ×1
loops ×1
readability ×1
string ×1
stylecop ×1