我正在使用一个通过实例变量传递状态的类型.所以你会看到这样的方法:
public MyType MyMethod()
{
DoThisMethod();
DoThatMethod();
AndDoThis();
return _bleh;
}
Run Code Online (Sandbox Code Playgroud)
这是公认的方法吗?
使用此代码有点令人不安,因为如果您不完全理解代码,实例变量可能会在您不知情的情况下通过其他方法进行转换.如果通过方法参数传递状态,那么您可以对传入的参数的值非常有信心.
我们都知道这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++中声明指针的更好的约定?
MyClass* ptr
Run Code Online (Sandbox Code Playgroud)
(要么)
MyClass *ptr
我发现第一个有意义,因为我想声明MyClass指针而不是MyClass并指定一个类型修饰符.但我看到很多书推荐以后的会议.你能否遵循你所遵循的惯例的理性?
可以说我有以下代码
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值.它不能比那更简单.现在我的问题是,它是否会提供任何好处(可读性,性能,语法,维护等),首先将返回值放在字符串变量中然后返回?或者最好离开它的方式?
我正在尝试使用jquery设置div的宽度.
这就是我试图设置div的大小
$('#page').css("width",data[0]['imageWidth']);
Run Code Online (Sandbox Code Playgroud)
这就是我想要设定的div
<div id="page">
</div>
Run Code Online (Sandbox Code Playgroud)
任何帮助都将非常感激
当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) 好吧,我认为这个问题出在了错误的地方,我将前往https://softwareengineering.stackexchange.com/阅读/询问.谢谢大家到目前为止的答案.:)
道歉 ;)如果这个问题有点主观,我很抱歉,但我无法想出一个更好的头衔.如果你知道更好的事情,我会纠正它.
在我的组织中,关于整个自动化测试和持续集成的事情有很多嗡嗡声,但我经常听到的一个论点是:
如果截止日期已经设定且只是我估计的一半,我应该如何开发好的,干净的,易于维护的代码并编写单元测试?
我自己是开发人员,所以我能理解这一点.但我总是试图回应,不仅开发人员需要范式转变,而且管理层也需要.
如果你是一名开发人员并且你的估计减少了一半,无论你估计什么,你都不会去任何地方,无论你的问题多么复杂或微不足道.你需要管理人员的备份,即那个给钱的One Guy.
你能给我一些帮助,可能是一个很好的URL来阅读这个开发/管理冲突,一本书或一个个人见解?您是否正在一家现在正在进行精益开发的瀑布公司中经历这样的大规模流程转移?或者你知道这个论点并且有一个聪明的答案吗?
请帮助我重命名或移动这个问题.:-)
谢谢你们所有的答案!:)我想我必须明确表示,我的观点不是来自管理层的" 做两倍快 "的声明.这是关于开发人员发表此声明的负面观点.
我能做些什么来帮助人们理解这不是软件开发的默认设置吗?该PM不积极防范编写好的代码,也许双方都需要了解的干净的代码基础,良好的覆盖和大量的自动化测试的利弊/反政府多一点的教育?
以下是伪代码:
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在这种情况下使用是否可接受?
我知道所有语言都不一样,但这是我一段时间都想知道的事情.
由于标题不是很清楚,是否存在技术差异
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风格有什么不利之处?
coding-style ×10
c# ×4
c++ ×2
c++11 ×1
declaration ×1
goto ×1
html ×1
if-statement ×1
jquery ×1
organization ×1
performance ×1
pointers ×1
testing ×1
width ×1