问题列表 - 第3825页

您如何解决"StyleCop C#风格"与"框架设计指南C#风格"之间的差异?

在阅读了伟大的书籍"框架设计指南"(2008年11月第2版)的附录A"C#编码风格约定"之后,我对微软使用内部/推荐的编码风格感到困惑.

博客文章C#Style的简史声称:

事实上,"StyleCop风格"和"框架设计指南风格"之间的差异相对较小

在我看来,差异是非常明显的.StyleCop说开放式支架应该在一个单独的线上,框架设计指南说它应该在开幕式之后.StyleCop表示所有关键字后面都有一个空格,框架设计指南说"摆脱所有空间"(甚至围绕二元运算符).

我从框架设计指南书中发现这条规则特别具有讽刺意义(第366页,第6条规则):

不要在流控制语句之前使用空格

Right: while(x==y)
Wrong: while (x == y)
Run Code Online (Sandbox Code Playgroud)

这明确说明StyleCop样式是错误的(while关键字后面的空格,相等二元运算符之前和之后的空格).

最后,使用StyleCop样式格式化的代码与使用Framework Design Guidelines样式格式化的代码具有完全不同的"感觉".通过遵循框架设计指南样式,人们将不得不禁用一堆规则(并且没有规则检查是否遵守框架设计指南样式......).

有人(MSFT内部人士可能?)对这种分歧有所了解吗?

你的团队如何应对这个问题?关注StyleCop?框架设计指南?完全忽略风格?烘焙自己的风格?

c# coding-style stylecop conventions

14
推荐指数
2
解决办法
1720
查看次数

在Delphi中为不可见的ActiveX对象事件处理程序生成代码

您知道在Visual Studio中,您可以使用"+ ="语法和几个选项卡让它自动生成事件处理程序的代码吗?

我如何在Delphi中完成同样的事情?我正在尝试为我使用导入组件功能导入的不可见activex库中的事件创建事件处理程序.

我意识到,使用导入的activex控件,您只需单击该对象,浏览事件选项卡以获取该组件提供的内容,然后双击该事件以使其为您生成一个.

这些特定的activex组件是不可见的,因此您可以在表单上选择它们.Delphi可以自动生成代码吗?如果没有,有人可以指点我一些示例代码吗?

delphi activex delphi-2007

3
推荐指数
1
解决办法
1099
查看次数

如何使用cygwin sort对第n列上的制表符分隔文件进行排序?

我有一个巨大的制表符分隔文件,我想在其第二列上排序.我需要使用制表符作为cygwin排序中的字段分隔符.所以我需要这样的东西:

sort -t \t -k 2,2 in.txt > out.txt
Run Code Online (Sandbox Code Playgroud)

但命令提示符按字面计算'\ t'而不是制表符.请注意,我需要在运行Cygwin的Windows机器上执行此操作.变化如

sort -t "\t"
sort -t \"\t\"
Run Code Online (Sandbox Code Playgroud)

不起作用,也没有把它放在cmd文件中,而实际的标签代替上面的\ t.

编辑:使用DOS shell或Cygwin bash shell的解决方案很好.

sorting cygwin

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

寻找一种快速测试C#格式字符串的工具

我经常忘记用于格式化.NET字符串的特殊小代码.通过ToString()或使用String.Format().对齐,填充,月份与分钟(月份是大写M?),缩写与完整单词等等.我永远不会记得.

我和正则表达式有同样的问题,但幸运的是Expresso可以帮助我.这很棒.

是否有像Expresso这样的工具用于在DateTime和float等标准类型上试验格式化字符串?

c# string formatting

18
推荐指数
3
解决办法
1万
查看次数

如何在Java中引用Method对象?

或者,换句话说,有什么问题 - 例如 -

new Method[] {Vector.add(), Vector.remove()}
Run Code Online (Sandbox Code Playgroud)

Eclipse一直告诉我,我需要参数.但我显然不想调用这些方法,我只是想用它们作为对象!该怎么办?

java reflection methods

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

通过JSON/XML将二进制数据发送到(Rails)RESTful端点?

我目前正在组建一个基于rails的Web应用程序,它只能通过json和xml提供和接收数据.但是,某些要求包含上载二进制数据(图像)的能力.

现在我的理解JSON并不完全是为了那个......但是你如何解决在你的应用程序的两个入口点上接收二进制文件/数据的问题?

xml binary json ruby-on-rails

6
推荐指数
2
解决办法
8438
查看次数

sql group by vs. distinct

当查询中没有聚合时,为什么有人会使用group by而不是?

此外,是否有人知道该组与MySQL和SQL Server中的不同性能注意事项.我猜测SQL Server有一个更好的优化器,它们可能接近等价,但在MySQL中,我期望显着的性能优势.

我对dba的答案感兴趣.

编辑:

比尔的帖子很有趣,但不适用.让我更具体一点......

select a, b, c 
from table x
group by a, b,c
Run Code Online (Sandbox Code Playgroud)

select distinct a,b,c
from table x
Run Code Online (Sandbox Code Playgroud)

mysql sql-server performance group-by distinct

38
推荐指数
2
解决办法
3万
查看次数

MIN/MAX与ORDER BY和LIMIT

在以下查询中,您认为哪种方法更好?你的理由是什么(代码效率,更好的可维护性,更少的WTFery)......

SELECT MIN(`field`)
FROM `tbl`;

SELECT `field`
FROM `tbl`
ORDER BY `field`
LIMIT 1;
Run Code Online (Sandbox Code Playgroud)

mysql sql

85
推荐指数
4
解决办法
5万
查看次数

错误:宏名称必须是使用#ifdef 0的标识符

我有用C++编写的应用程序的源代码,我只想用以下方法评论:

#ifdef 0
...
#endif
Run Code Online (Sandbox Code Playgroud)

我得到了这个错误

错误:宏名称必须是标识符

为什么会这样?

c++ macros c-preprocessor

36
推荐指数
3
解决办法
9万
查看次数

这种类型的内存是在堆还是堆栈上分配的?

在C++的上下文中(并不重要):

class Foo{
    private:
        int x[100];
    public:
        Foo();
}
Run Code Online (Sandbox Code Playgroud)

我学到的东西告诉我,如果你像这样创建一个Foo实例:

Foo bar = new Foo();
Run Code Online (Sandbox Code Playgroud)

然后在堆上分配数组x,但是如果你像这样创建了一个Foo实例:

Foo bar;
Run Code Online (Sandbox Code Playgroud)

然后它在堆栈上创建.

我无法在线查找资源以确认这一点.

c++ heap stack memory-management

4
推荐指数
3
解决办法
1410
查看次数