我想知道您对我持保留态度的编码风格问题的看法。我意识到可能没有明确的答案,但我想看看在一个方向或另一个方向上是否有强烈的偏好。
我正在经历一个using
在很多地方添加语句的解决方案。我经常会遇到这样的事情:
{
log = new log();
log.SomeProperty = something; // several of these
log.Connection = new OracleConnection("...");
log.InsertData(); // this is where log.Connection will be used
... // do other stuff with log, but connection won't be used again
}
其中 log.Connection 是一个 OracleConnection,它实现了 IDisposable。
我内心的整洁想将其更改为:
{
using (OracleConnection connection = new OracleConnection("..."))
{
log = new log();
log.SomeProperty = something;
log.Connection = conn;
log.InsertData();
...
}
}
但是喜欢简洁和快速完成工作的人想要这样做:
{
log = new log();
log.SomeProperty = something;
using (log.Connection = new OracleConnection("..."))
log.InsertData();
...
}
出于某种原因,我觉得这样做有点脏。你认为这很糟糕吗?如果你认为这很糟糕,为什么?如果很好,为什么?
编辑:请注意,这只是众多例子中的一个(有点做作)。请不要拘泥于这样一个事实,即这恰好表明一个记录器类具有一个经过深思熟虑的接口。这与我的问题无关,无论如何我也无权改进课程本身。