在我的上一个项目中,我注意到,在类名中包含设计模式名称非常方便.例如:
它使项目易于阅读.另外一个好处是您不会使用自己的名称,如"RunOnceManager","ContextDelayedConstruction","ThirdPartyInterface"等,这些名称可能仅对作者有明显的意义.另一方面,我不希望在STL中看到像vector_container这样的类.你怎么想?
我对此主题的当前观点是:作为类层次结构中重要节点的类应在其名称中具有其设计模式,以强调层次结构并使项目更易于阅读.
我有一个批处理文件,它位于目录中,也必须从那里运行,因为它更新了该目录中的文件.
除非用户以管理员身份运行批处理文件(Vista上需要),否则此工作完全正常.然后起始目录是C:\ Windows\System32.
有没有办法仍然能够知道批处理文件从哪个目录运行?
我不希望用户手动输入目录.
是否有可能懒惰地实例化最终字段?
以下代码无法编译:
public class Test{
private final Connection conn;
public Connection getConnection(){
if(conn==null){
conn = new Connection();
}
return conn;
}
}
Run Code Online (Sandbox Code Playgroud)
还有其他选择吗?
在我维护的项目中,我看到很多代码都是这样的简单get/ set方法
const int & MyClass::getFoo() { return m_foo; }
void MyClass::setFoo(const int & foo) { m_foo = foo; }
Run Code Online (Sandbox Code Playgroud)
这样做有什么意义而不是以下几点?
int MyClass::getFoo() { return m_foo; } // Removed 'const' and '&'
void MyClass::setFoo(const int foo) { m_foo = foo; } // Removed '&'
Run Code Online (Sandbox Code Playgroud)
传递对基本类型的引用应该需要与传递类型的值本身相同(或更多)的努力,对吧?
毕竟这只是一个数字......
这只是一些尝试的微观优化还是有真正的好处?
我已经给客户端以下查询删除重复的电话号码.MSSQL数据库中的记录,但现在他们还需要在MySQL上执行此操作,并且他们报告MySQL抱怨查询的格式.我已经为我的代码示例包含了一个带有重复项的测试表的设置,但实际的删除查询才是最重要的.
我在无知和紧迫的情况下问这个,因为我还在忙着下载和安装MySQL,也许有人可以帮忙.
create table bkPhone
(
phoneNo nvarchar(20),
firstName nvarchar(20),
lastName nvarchar(20)
)
GO
insert bkPhone values('0783313780','Brady','Kelly')
insert bkPhone values('0845319792','Mark','Smith')
insert bkPhone values('0834976958','Bill','Jones')
insert bkPhone values('0845319792','Mark','Smith')
insert bkPhone values('0828329792','Mickey','Mouse')
insert bkPhone values('0834976958','Bill','Jones')
alter table bkPhone add phoneId int identity
delete from bkPhone
where phoneId not in
(
select min(phoneId)
from bkPhone
group by phoneNo,firstName,lastName
having count(*) >= 1
)
Run Code Online (Sandbox Code Playgroud) 我有SQL Server数据库并对其进行更改.某些数据库表的记录是我的应用程序运行所需的起始记录.我想对数据库和这些记录(行)进行版本控制.有可能这样做并将其捆绑到我的源代码的SVN版本控制或是否有其他解决方案?我想实现这一点,以便能够返回到以前版本的数据库并比较数据库修订版之间的更改.如果这个工具是免费的,开源的或者不是非常昂贵,那将是很好的.
我的环境是Visual C#Express,SQL Server 2008 Express和Tortoise SVN.
是否有可用于在Windows批处理文件中并行执行多个进程的工具?我找到了一些有趣的Linux工具(并行和PPSS),但是,我需要一个适用于Windows平台的工具.
额外奖励:如果该工具还允许在多台机器之间轻松分配流程,并通过PsExec远程运行流程,那将会很棒.
示例:我希望在以下for循环中使用它
for %F in (*.*) do processFile.exe %F
Run Code Online (Sandbox Code Playgroud)
有限数量的processFile.exe实例并行运行以利用多核CPU.
在WinForms .Net控件的世界
组件和控件有什么区别?