标签: coding-style

我怎么称呼这种编程风格?

我正在使用一个通过实例变量传递状态的类型.所以你会看到这样的方法:

public MyType MyMethod()
{
  DoThisMethod();
  DoThatMethod();
  AndDoThis();

  return _bleh;
}
Run Code Online (Sandbox Code Playgroud)

这是公认的方法吗?

使用此代码有点令人不安,因为如果您不完全理解代码,实例变量可能会在您不知情的情况下通过其他方法进行转换.如果通过方法参数传递状态,那么您可以对传入的参数的值非常有信心.

coding-style

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

我应该默认使用`this`吗?

我们都知道这this是指一个类的实际实例......但在我看来,大多数人并没有使用它.那么,我应该使用它吗?

我对它的看法如下:由于this引用了类的实际实例,它应该用于访问该类的任何成员.

  public void(String newValue) {
        this.privateVariable = newValue;
  }
Run Code Online (Sandbox Code Playgroud)

这应该保证该值不会分配给范围内具有相同名称的对象(无论如何,这也可能最终成为未定义的行为).但是,如果使用下划线将私有字段与非私有字段分开,该怎么办:

  public voud(String newValue) {
        _privateVariable = newValue;
  }
Run Code Online (Sandbox Code Playgroud)

this 在这种情况下似乎有点多余和不必要.

那么,是否有充分的理由使用或不使用this?或者我只是绞尽脑汁想要什么?

c# coding-style

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

有没有"大名实体"发布C++ 0x语法最佳实践

虽然这种"对话"很快就会变成像"这就是我的想法......"这样的问题但问题并非如此.是否有任何"大名鼎鼎的实体"(例如谷歌或喜欢的歌曲,斯科特迈耶斯等等)发布了任何免费提供的内容,这些内容决定/建议他们认为代码库的语法指南行应该适用于某些/任何C++ 0x功能?

例如,我已经看到了各种模板的示例代码,这些模板以相对于省略号的不同间距编写.有没有人权衡过任何人对一些/所有结构中最具表现力/可读性的信念的评价?

@jalf:即使你不相信任何人应该告诉你如何做这些琐事,也有大型组织在其编码标准中有格式相关标准的例子(例如Google,Gnu),但这些并不与C++ 0x功能(这就是我的要求).

c++ coding-style c++11

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

哪个是在C++中声明指针的更好的约定?MyClass*ptr(或)MyClass*ptr?

哪个是在C++中声明指针的更好的约定?

MyClass* ptr
Run Code Online (Sandbox Code Playgroud)

(要么)

MyClass *ptr

我发现第一个有意义,因为我想声明MyClass指针而不是MyClass并指定一个类型修饰符.但我看到很多书推荐以后的会议.你能否遵循你所遵循的惯例的理性?

c++ pointers coding-style declaration

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

返回值风格问题

可以说我有以下代码

public static string GetXMLValue()
{
    XDocument settingsFile = XDocument.Load("Settings.xml");
    return settingsFile.Element("Settings").Element("GenericValue").Value;
}
Run Code Online (Sandbox Code Playgroud)

它只是读取XML设置文件并返回GenericValue值.它不能比那更简单.现在我的问题是,它是否会提供任何好处(可读性,性能,语法,维护等),首先将返回值放在字符串变量中然后返回?或者最好离开它的方式?

c# coding-style

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

设置div jquery的宽度

我正在尝试使用jquery设置di​​v的宽度.

这就是我试图设置div的大小

$('#page').css("width",data[0]['imageWidth']);
Run Code Online (Sandbox Code Playgroud)

这就是我想要设定的div

<div id="page">
 </div>
Run Code Online (Sandbox Code Playgroud)

任何帮助都将非常感激

html jquery coding-style width

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

首先在IEnumerable上排序或删除所有需要两者的?

当IEnumerable需要进行排序和要删除的元素时,是否有以特定顺序执行阶段的优点/缺点?我的表现测试似乎表明它无关紧要.

我所说的简化(有点人为)的例子如下所示:

public IEnumerable<DataItem> GetDataItems(int maximum, IComparer<DataItem> sortOrder)
    {
        IEnumerable<DataItem> result = this.GetDataItems();

        result.Sort(sortOrder);
        result.RemoveAll(item => !item.Display);

        result = result.Take(maximum);  
        return result;
    }
Run Code Online (Sandbox Code Playgroud)

c# performance coding-style

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

您如何回应"没有时间测试/开发清洁代码,因为截止日期"这一论点?

好吧,我认为这个问题出在了错误的地方,我将前往https://softwareengineering.stackexchange.com/阅读/询问.谢谢大家到目前为止的答案.:)


道歉 ;)如果这个问题有点主观,我很抱歉,但我无法想出一个更好的头衔.如果你知道更好的事情,我会纠正它.

在我的组织中,关于整个自动化测试持续集成的事情有很多嗡嗡声,但我经常听到的一个论点是:

如果截止日期已经设定且只是我估计的一半,我应该如何开发好的,干净的,易于维护的代码并编写单元测试?

我自己是开发人员,所以我能理解这一点.但我总是试图回应,不仅开发人员需要范式转变,而且管理层也需要.

如果你是一名开发人员并且你的估计减少了一半,无论你估计什么,你都不会去任何地方,无论你的问题多么复杂或微不足道.你需要管理人员的备份,即那个给钱的One Guy.

结论?

你能给我一些帮助,可能是一个很好的URL来阅读这个开发/管理冲突,一本书或一个个人见解?您是否正在一家现在正在进行精益开发的瀑布公司中经历这样的大规模流程转移?或者你知道这个论点并且有一个聪明的答案吗?

请帮助我重命名或移动这个问题.:-)

更新

谢谢你们所有的答案!:)我想我必须明确表示,我的观点不是来自管理层的" 做两倍快 "的声明.这是关于开发人员发表此声明的负面观点.

我能做些什么来帮助人们理解这不是软件开发的默认设置吗?该PM不积极防范编写好的代码,也许双方都需要了解的干净的代码基础,良好的覆盖和大量的自动化测试的利弊/反政府多一点的教育?

testing coding-style organization

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

在这种情况下使用"goto"是否可以接受?

以下是伪代码:

myGoto:
try
{
   // do some db updating
   myDB.doOptimisticConcurrency();

} catch (MyConcExeption ex) {

   if (tried < fiveTimes) {
       myDB.Refresh();
       tried++;
       goto myGoto;
   }

}
Run Code Online (Sandbox Code Playgroud)

我在一个方法中有几个try-catch块,我不想从一开始就为每个抛出的异常重新调用我的方法.goto在这种情况下使用是否可接受?

c# coding-style goto

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

其他之间是否存在技术差异... if/else if?

我知道所有语言都不一样,但这是我一段时间都想知道的事情.

由于标题不是很清楚,是否存在技术差异

if (...) {
   // ...
} else if (...) {
   // ...
}
Run Code Online (Sandbox Code Playgroud)

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

我从实际角度知道,他们会做同样的事情,并且有可读性原因选择一个而不是另一个,例如第二个if与第一个没有直接关系.

但从技术角度来看,我不确定.编译器是否倾向于使用a做一些特殊的事情else if,或者它是否像处理单行一样处理,例如:

if (...)
   singleLine();
Run Code Online (Sandbox Code Playgroud)

但看起来像:

else
   if (...) // Counts as just a single line command
Run Code Online (Sandbox Code Playgroud)

希望能说清楚我在问什么.这两种方式之间是否存在技术差异,使用这种else { if风格有什么不利之处?

if-statement coding-style

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