背景:公司有打码审查,这对代码规范性,提升阅读性,非常有帮助
第一点:自定义抛出错误:
分成参数错误,即认为前端传参错误,
业务逻辑错误,
这两类错误,不认为是异常
if (string.IsNullOrEmpty(file.FileName) == true || string.IsNullOrEmpty(file.FilePath) == true)
throw new ValidationException("缺少必要的参数");
using (DbContext dbContext = await CreateTenantConnection())
{
if (await DocBLL.CheckFileExists(file.FileName, file.DirId) == true)
throw new BusinessLogicException("相同目录下已存在该文件");
file.CreateTime = DateTime.Now;
file.Creator = GetUserInfo().UserName;
return await DocBLL.Insert(file, dbContext, true);
}
第二点:控制器中写控制类弱业务东西,bll中写数据相关
控制层,和业务层中的代码,都有一定内容,各司其职
第三点:尽量使用微软有相关方法,
根据文件名1.txt获取,1这个名称,或是文件类型txt,
没必要用正则,或是字符串相关方法来回操作,同时非常明显,这里可读性更好,获取扩展名,去掉。
item.FileType =Path.GetExtension(item.FileUrl).TrimStart('.');
Path.GetFileNameWithoutExtension(item.FileName)
第四点:关于封装,
避免过渡封装,有时一行代码的方法封装,没有必要