ASP.NET高级程序员进阶之路——.net项目开发中一些常见的代码规范问题及解决方案

1、页面后代码中出现SQL语句或与某一类具体数据库相关的对象,比如OracleConnection、OracleTransaction等;
2、扩展的方法缺少注释,或注释不完整;
3、状态值的判断未采用枚举;
4、属性缺少注释;
5、方法名未采用Pascal命名法(单词首字母均应该大写);
6、资源文件引用混乱,一些常用的公共JS文件(比如JQuery框架文件)在模块文件夹中重复添加并引用。
7、日期控件未指定样式显示出图标;
8、为SQL语句动态传参数时,直接采用字符串拼接,未使用Parameter的方式传值。

9、在页面后代码中出现诸如创建数据库连接,进行事务处理的情况。
(解读:不允许在页面后代码或Biz类中出现SQL语句,创建数据库连接等与具体数据库操作相关的代码,是为了提高产品代码的可移植性。应该将涉及到具体数据库操作的代码封装到DAO中,这样,假如产品切换到不同类型的数据库,则只需要替换DAO中的实现代码,而不需要每个具体的页面后代码或Biz类都进行相应的修改。

10、该使用事务处理的地方没有使用事务,比如涉及到主从表记录保存或删除时,不是在一个事务中处理。
(解读:将涉及到多表增删改等操作的业务放在一个数据库事务中处理,是为了保证数据的完整性。开发人员往往为了偷懒省事,不愿多写事务处理的相关代码,为程序埋下了隐患。

11、方法注释不全。
(解读:许多方法,尤其是重载的方法,往往是直接拷贝后,没有及时修改其注释,导致方法参数的注释不对应;另外,方法注释格式不正确,直接使用'//'进行单行注释。应该通过在VS中输入'///'后自动生成注释标记来进行完整注释)

12、页面后代码中出现静态变量。
(解读:开发人员往往为了缓存数据的需要,在页面后代码中定义一些静态变量。但
是由于静态变量的全局性,多个用户共用的是同一个静态变量,任何一个用户访问该页面,都可能修改这个静态变量的值,从而导致数据的混乱。

13、页面后代码滥用Session,没有及时清空Session对象。
(解读:开发人员往往为了缓存数据的需要,会经常使用Session。虽 然Session使用起来方便简单,但是滥用Session,尤其是用于缓存大量数据时,会大量消耗服务器资源,特别是并发访问多的时候更是加重服务器负载,导致程序运行的低效。而且Session也存在不稳定,容易丢失数据等问题。所以,能通过其他途径解决参数传递或数据缓存的,尽量都不要使用 Session。

  • 2
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 3
    评论
ASP.NET Core Razor编程,列表模板页面是非常常见的。这些页面通常用于显示数据库或其他数据源的一组记录。 在本文,我将向您展示如何使用ASP.NET Core Razor列表模板页面。 首先,我们需要创建一个模型类来代表我们的数据。例如,假设我们正在构建一个博客应用程序,我们需要一个名为“Post”的模型类来表示博客文章。以下是一个示例模型类: ```csharp public class Post { public int Id { get; set; } public string Title { get; set; } public string Content { get; set; } public DateTime CreatedDate { get; set; } } ``` 接下来,我们需要创建一个控制器类来处理与“Post”模型类相关的操作。以下是一个示例控制器类: ```csharp public class PostController : Controller { private readonly ApplicationDbContext _context; public PostController(ApplicationDbContext context) { _context = context; } public IActionResult Index() { var posts = _context.Posts.ToList(); return View(posts); } } ``` 在此示例控制器,我们从数据库检索所有博客文章,并将它们传递给视图。 现在,我们需要创建一个视图来显示我们的博客文章列表。我们可以使用ASP.NET Core Razor模板引擎来创建一个动态模板,该模板可以将我们的博客文章显示为HTML表格。以下是一个示例视图: ```html @model IEnumerable<Post> <table> <thead> <tr> <th>Title</th> <th>Content</th> <th>Created Date</th> </tr> </thead> <tbody> @foreach (var post in Model) { <tr> <td>@post.Title</td> <td>@post.Content</td> <td>@post.CreatedDate.ToShortDateString()</td> </tr> } </tbody> </table> ``` 在此示例视图,我们使用了一个foreach循环遍历我们的博客文章,并将它们显示为HTML表格行。 最后,我们需要在控制器的Index方法返回视图。在我们的示例控制器,我们已经传递了一个包含所有博客文章的IEnumerable<Post>对象。我们可以将此对象传递给视图,如下所示: ```csharp public IActionResult Index() { var posts = _context.Posts.ToList(); return View(posts); } ``` 现在,当我们访问PostController的Index操作时,我们将看到一个包含所有博客文章的HTML表格。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

邹琼俊

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值