小编Mar*_*las的帖子

为什么我不应该在StyleCop中为成员变量加前缀?

StyleCop告诉我,我不应该为成员变量添加前缀m_.这是c#编码风格的官方线吗?我猜这是来自MS.有人对这个有了解吗??

默认情况下,StyleCop不允许使用下划线,m_等标记本地类字段,而使用'this'.字首.使用'this'的好处.它同样适用于所有元素类型,包括方法,属性等,而不仅仅是字段,使得对类成员的所有调用都可以立即识别,无论使用哪个编辑器来查看代码.另一个优点是它在实例成员和静态成员之间创建了一个快速,可识别的区别,它不会被加上前缀.

c# coding-style stylecop

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

为什么我的正则表达式会因某些替换而失败?

我是perl的新手,不知道如何实现以下目标.我正在读取一个文件,并将这些行放在一个名为$ tline的变量中.接下来,我试图从$ tline中替换一些字符.如果$ tline有一些特殊字符,如(,?,=等),这个替换会失败.如何从这个变量$ tline中转义特殊字符?

if ($tline ne "") {

   $tline =~ s/\//\%;
}
Run Code Online (Sandbox Code Playgroud)

编辑

对不起困惑.这是我想要做的.

$tline =~ s/"\//"\<\%\=request\.getContextPath\(\)\%\>\//;
Run Code Online (Sandbox Code Playgroud)

这适用于大多数情况.但是当输入文件有?在它,它是失败的.

regex perl

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

使用Linq To Objects或使用本机SQL将数据分组到内存中 - 哪个更快?

我注意到LINQ to Objects有一个GroupBy方法.鉴于此,我想知道是否有人可以使用LINQ构建内存中对象组列表的案例与SQL Server执行分组?

.net c# sql group-by

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

为什么不存在字符串生成器?

我有点理解String Builder类的动机,但是所有语言都有一个吗?他们应该吗?我正在考虑PHP,Perl,Python和Ruby.我知道C#和Java.如果其他人不这样做,为什么不呢?他们没有遭受同样的实施问题吗?或者他们不关心?

language-agnostic string

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

架构修改命令是事务性的吗?

例如,如果我删除一个表然后回滚事务是重新创建的表吗?

可以在事务中进行的架构更改有哪些限制?

如果以上内容取决于Sql Server的版本,请说明......

背景
我正在考虑使用一些"select into"语句来创建表,然后需要删除所有上述表作为工作流的后续部分.

这些表中没有一行会有几十行.

sql-server transactions

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

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

主/进入类及其超类是否有任何命名约定?

我有一个关于C#中命名约定的问题,我认为这些约定不包括在大多数先前提出的问题或MSDN命名指南等常用资源中.大多数现有的命名约定都集中在框架和其他类消耗的东西上.这可能有点不同.

你怎么命名Main()所在的类?它与超类有什么关系?

假设你是一个初出茅庐的程序员,你就像这个网站一样创建了一个小应用程序.你可能会做这样的事情.

// the title of the class happens to be the title of the project

namespace FogCreek {
  public class StackOverflow {
    public static Main() { ... }
  }
}
Run Code Online (Sandbox Code Playgroud)

但随后你决定在你成长的过程中重构你的内脏并创建更多的Stack网站,每个网站都会显示自己的命名空间.

namespace FogCreek.StackSites.StackOverflow {
  public class WhatDoICallThis : StackExchangeSite {
    public static Main() { ... }
  }
}

// elsewhere in another project...

namespace FogCreek {
  public class StackExchangeSite {
    ...
  }
}
Run Code Online (Sandbox Code Playgroud)

我犹豫不决称它为StackOverflow,因为它的全名是FogCreek.StackSites.StackOverflow.StackOverflow.这有点多余吗?

另外,StackExchangeSite应该在FogCreek中的自己的命名空间中吗?或者它应该"高于"源自它的项目?

Company.Foobar.Widget
-> Company.Foobar.Widget.RoundWidget
-> Company.Foobar.Widget.SquareWidget

vs

Company.Foobar.Widget.BaseWidget
-> Company.Foobar.Widget.RoundWidget
-> Company.Foobar.Widget.SquareWidget …
Run Code Online (Sandbox Code Playgroud)

c# naming-conventions

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

表的主键上是否有索引?

拥有主键列是否意味着该列上有索引?如果是这样,它是什么样的指数?

sql database indexing primary-key sql-server-2008

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

密码字段应该是唯一的吗?

鉴于最近的Gawker Media密码泄漏,我意识到许多用户共享相同的密码.为了帮助鼓励更强的密码,如果密码在所有用户中都是唯一的,那么它会有用吗?

我能想到的一个直接缺点(除了帐户创建性能?)是能够知道某人正在使用给定的字符串作为密码.这种知识与用户列表相结合可能非常危险.

有没有办法减轻这种负面影响,同时保留不允许重复密码的所谓好处?

它有点像XKCD踢机器人,你不能重复短的,非原创的句子,如"yah"或"lol".

编辑^ 2:我认为你可以独特 - 如果反对哈希,但正如有人指出,用不同的盐,这将没有预期的效果.好眼!

security

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

你怎么称呼改变其类的对象的方法?

假设你有一个Person对象,它有一个方法promote(),将它转换为一个Captain对象.你怎么称呼这种方法/互动?

它也感觉像是反转:

myCaptain = new Captain(myPerson);
Run Code Online (Sandbox Code Playgroud)

编辑:感谢所有的回复.我遇到这种模式的原因(在Perl中,但在任何地方相关)纯粹是为了方便.在不知道任何实现交易的情况下,你可以说这个Captain类"有一个" Person(我意识到这可能不是最好的例子,但要确保它不是一个子类).

实施我假设:

// this definition only matches example A
Person.promote() {
  return new Captain(this)
}

personable = new Person;

// A. this is what i'm actually coding
myCaptain = personable.promote();

// B. this is what my original post was implying
personable.promote(); // is magically now a captain?
Run Code Online (Sandbox Code Playgroud)

所以,从字面上看,它只是构建一个方便的方法Captain.我只是想知道这种模式是否在野外被看到并且它是否有名字.而且我猜是的,它并没有真正改变课程,因为它返回了另一个课程.但它理论上可以,因为我并不真正关心原作.

Ken ++,我喜欢你指出一个用例.有时候改变某些东西真的很棒,比如一个记忆敏感的环境.

oop

0
推荐指数
2
解决办法
362
查看次数