标签: coding-style

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

-1
推荐指数
1
解决办法
1531
查看次数

C++和C#的编码标准

我有一个相当理论上的问题.我的公司有一个工作标准(文档化),它在C++方面相当广泛但在C#方面几乎不存在,其中唯一的指令是编码标准应该遵循微软的C#风格指南.MSDN确实有指导方针,但这导致我们公司代码中两种语言的代码之间存在相当大的差异.

以下是我们为C++编写的一些编码标准(没什么新意的):

  1. 类成员名称应以m_开头并以驼峰形式继续,即 bool m_isValid;

  2. 方法参数应该以_ ie开头并以驼峰形式进行 void Foo(bool _isValid);

  3. 局部变量是常规的驼峰情况即 bool isValid;

这使得在读取长函数时代码非常易读,因为您可以立即知道什么是成员,什么是参数,什么是局部变量.

现在谈到C#......通常的做法是对所有三个人来说都是驼峰.它更难阅读,你必须将鼠标悬停在变量上或点击它以知道它是哪一个.

如果你决定,你会对两种语言强制执行相同的编码标准吗?你会执行大多数相同的编码标准吗?或者你会采用不同语言的不同标准方法吗?

谢谢...

c# c++ coding-style

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

为什么addListener()通常返回void?

我看到一个典型的addXXXListener()返回void!我已经将其视为一种全面的实践,无论是UI框架(如Swing)还是服务器端框架.

例如:Class:AsyncContext

public void addAsyncListener(AsyncListener listener);
Run Code Online (Sandbox Code Playgroud)

类:AbstractButton

public void addActionListener(ActionListener l)
Run Code Online (Sandbox Code Playgroud)

还有很多其他例子......

我们是否有兴趣知道添加侦听器调用是否成功完成?如果组件处于无法添加侦听器的状态,该怎么办?

例如:考虑Guava库[ListenableFuture](http://guava-libraries.googlecode.com/svn/tags/release08/javadoc/com/google/common/util/concurrent/ListenableFuture.html#addListener (java.lang).Runnable,java.util.concurrent.Executor))

它有一个

void addListener(Runnable listener, Executor exec);
Run Code Online (Sandbox Code Playgroud)

它的行为是在Future的计算完成时执行监听器.他们采取的方法是,如果Future已经完成,那么将立即调用监听器.即使未来完成了年龄的回归.用户没有迹象表明他们在已经完成的未来上不必要地调用addListener()!

我认为addListener()应该能够返回一个值(boolean?),该值表示如果可以成功添加监听器,并且如果无法添加监听器,则让调用者进行处理!

我知道必须有一些理由为什么所有addListeners都是这样编写的.我只是不知道为什么?

java coding-style return-value listener

-1
推荐指数
1
解决办法
169
查看次数

为什么C++标准不会弃用增量/减量运算符?

我认为以下代码是邪恶的,但它可以在没有任何警告的情况下编译.

int f(int n)
{
    return n + 1;
}

int n = 0;
n = f(n++) + f(++n);
Run Code Online (Sandbox Code Playgroud)

我只是想知道为什么神圣标准不会弃用这些运算符?

我猜可能有两个原因:

一个可能是向后兼容;

另一种可能是在某些情况下,这些运算符非常有用.

如果后者是真的,你能给我一些例子吗?谢谢.

c c++ standards coding-style unary-operator

-1
推荐指数
1
解决办法
386
查看次数

在声明中省略参数名称是一个好习惯吗?

使用参数名称:

class Foo
{
public:
    someType f(someType parameterName);
};
Run Code Online (Sandbox Code Playgroud)

没有参数名称:

class Foo
{
public:
    someType f(someType);
};
Run Code Online (Sandbox Code Playgroud)

就C++而言,推荐哪一个?或者仅仅是个人偏好?

c++ coding-style

-1
推荐指数
1
解决办法
206
查看次数

C++ 如何简化 if else 语句?

我想知道如何简化如下所示的声明。

我到处都有类似的代码,想清理它。

if(isActive)
{
    if(columnId == 4)
        g.drawText(active[row].value, 2, 0, width, height, Justification::centredLeft, true);
}
else
{
    if(columnId == 4)
        g.drawText(inactive[row].value, 2, 0, width, height, Justification::centredLeft, true);
}
Run Code Online (Sandbox Code Playgroud)

isActive正如您可以想象的那样,是一个bool值。

c++ coding-style c++11 c++17

-1
推荐指数
1
解决办法
164
查看次数

完整的网页只有一页!

嗨,我正在一个伟大的网站(社交网络与PHP),我已经决定只创建一个PHP页面,(index.php),但这个PHP页面将包含PHP如果$ _GET值的条件和声明,以及将显示重新排列的页面(但在同一页面index.php).

这意味着代码(javascript + xhtml + php)将非常庞大(几乎所有项目都在一个页面中).

我还将使用Htaccess重写这些页面的URL以避免任何恶意请求(因此它将像普通网站一样出现).

但是,在这样做之前,我只是想知道这种技术的优点和缺点,从所有其他方面看到它(安全性,服务器资源等......)

谢谢

php design-patterns coding-style social-networking

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

PHP | $ value = $ anothervalue = getValue() - 它对性能有负面影响吗?

这个问题是关于代码优化:什么是更好的性能和原因(第一个例子对于人类更清洁 - >程序员 - >我)?

$value = $anothervalue = getValue();
Run Code Online (Sandbox Code Playgroud)

要么

$anothervalue = $getValue;
$value = $anothervalue;
Run Code Online (Sandbox Code Playgroud)

php coding-style

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

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