代碼庫中我的工作有使用冗餘方法是最佳實踐:從外部庫
if (!Directory.Exists(dir))
{
Directory.CreateDirectory(dir);
}
幾個例子根據MSDN文檔(http://msdn.microsoft.com/en-us/library/54a0at6s(v=vs.110).aspx),這是多餘的,因爲createDirectory不會覆蓋一個現有的目錄。
這可以被視爲使代碼更清晰,因爲從.CreateDirectory(dir)
方法中不明顯這是行爲。另一方面,這是代碼膨脹並且保持它(即使將它添加到庫/實用程序類)也有問題(例如,您必須讀取/維護更多行代碼)。
這裏認爲最佳實踐是什麼?
'createDirectory不會覆蓋和現有目錄',雖然這是真的,但是如果目錄* does *存在,它仍然會拋出一個異常?我現在沒有能力測試它,但我認爲'if'是爲了防止在這個塊上出現'IOException'。 –
@EvanL Nope - 它只是返回沒有問題的信息 –
沒有'Directory.Exists'代碼會導致我暫停和檢查它。即使那不是我當時正在處理的事情。我更希望檢查能夠幫助開發人員閱讀代碼,認爲這裏沒有任何東西可以看到。 – cgTag