命名规则

后端命名(统一采用[前缀]骆驼命名)

  • 所有类都必须以首字母大写开头
  • 接口必须以I开头
  • 业务逻辑或业务接口必须以Services结尾
  • 数据仓储或仓储接口必须以Repository结尾
  • 所有特效必须以Attribute结尾
  • 所有过滤器必须以Filter结尾
  • 关于全局配置类必须以Config结尾
  • 所有控制器必须以Controller结尾
  • 所有拓展类必须以Extention结尾
  • 所有的T4生成文件必须以Generator结尾
  • 所有的枚举必须以Enum结尾
  • 所有的结构必须以Struct结尾
  • 所有的Key配置类都必须以Key结尾
  • 所有的变量必须第一个单词以小写字母开始;第二个单词的首字母大写或每一个单词的首字母都采用大写字母
  • 私有变量必须以下划线开头
  • 对象属性统一采用首字母大写的骆驼命名方式,个别情况可以小写开头,应尽量避免
  • 所有的数据传输对象(DTO)定义的类必须以Dto开头
  • 全局注入的数据必须以两个下划线开头
  • 通常根据数据库表生成对应的实体模型都放在MVC结构中根目录下的Models文件夹中,同时类的名称和表名称一一对应,如果有特殊情况,如有前缀,可自己添加映射关系。
  • 每一个MVC结构中,新建一个控制器,必须在Views文件夹下有对应的控制器同名文件夹,同时对应的Models文件夹也应该有控制器同名的文件夹。
  • Models文件夹下面的所有控制器文件夹中的类必须和控制器下的Action一一对应,如:有DefaultController控制器,那么Models下面就有Default文件夹,那么DefaultController控制器中有多少个Action,就应该对应多少个Dto的类,命名方式为:Dto+控制器名称+Action名称+Model.cs
  • 所有的控制器必须指定请求类型
  • 所有的代码片段必须以snippet_开头,文件的后缀名也是.snippet
  • 所有的类,变量,属性,接口,枚举,方法,结构等命名必须有意义,遵循“宁可长,不可懵”的命名方式。
  • 缓存依赖文件必须以缓存依赖单词结尾 
  • 在布局页定义的@RenderSection必须带Section结尾

前端命名规范

  • HTML标签自定义属性必须以data-开头
  • CSS中所有自定义的class必须遵循monk-开头
  • Javascript中的类必须是都是首字母大写的骆驼命名方式
  • Javascript中的变量,方法都是首字母小写的骆驼命名方式
  • 自定义的所有前端组件必须遵循 monk-组件名称[-主题]命名方式

文件或文件夹夹介绍

  • App_Data 数据库存储文件或初始化脚本,如init.sql,*.mdb,*.xml,*.json等
  • App_Start 应用程序启动时执行的类或方法
  • Areas 区域,对应每一块完整的功能模块
  • Assets 静态资源,包括CSS,Image,Js,HTML,字体图标等
  • Assist 助手文件夹,也就是工具库
  • Configure 配置文件,通常是json或xml文件
  • Controllers 控制器
  • Exports 导出的数据文件文件夹
  • Extentions 拓展类
  • Filters 过滤器
  • Generator 代码生成器
  • Models 数据库表对应的实体类
  • Repository 数据库操作文件夹
  • Services 业务逻辑文件夹
  • Snippet 代码片段
  • Views 公共视图文件夹
  • Global.asax 全局类
  • packages.config Nuget包配置文件
  • Web.config 网站配置文件

后端注释规范

  • 所有的.cs文件必须在最顶部注释,注释格式为:
// ***********************************************************************
// 文件名称:
// 当前版本:
// 编写作者:
// 所属项目:
// 创建时间:
// 更新时间:
// 文件描述:
// 版权所有:
// 参与人员:
// ***********************************************************************

  

  

  

  • 所有自定义插件或者框架必须在最顶部注释,注释格式为:
// ***********************************************************************
// 文件名称:
// 当前版本:
// 编写作者:
// 所属项目:
// 创建时间:
// 更新时间:
// 文件描述:
// 开源协议:
// 官方网站:
// 版权所有:
// 参与人员:
// ***********************************************************************

  

  

  

  • 所有的方法必须添加C#语言summary的注释,注释格式为:
/// <summary>
/// 方法名称:
/// 编写作者:
/// 创建时间:
/// 更新时间:
/// 方法描述:
/// 参与人员:
/// </summary>
/// <param name=""></param>
/// <returns></returns>

  

  

  

  • 所有的类,接口,枚举,结构必须添加C#语言summary的注释,注释格式为:
/// <summary>
/// 类名称:
/// 类描述:
/// 编写作者:
/// 创建时间:
/// 更新时间:
/// 参与人员:
/// </summary>

  

  

  • 单行代码注释统一在该代码上面注释,注释格式为:
// 说明
string str="百小僧";

  

  • 控制器Action注释格式:
/// <summary>
/// 行为名称:
/// 行为方式:
/// 编写作者:
/// 创建时间:
/// 更新时间:
/// 方法描述:
/// 参与人员:
/// </summary>
/// <param name=""></param>
/// <returns></returns>

  

  

代码编写规则

  • 变量采取就近原则,就是什么时候用,就在什么时候定义
  • 处理同一逻辑功能的代码不用空出一行,其他的应空行分割

Monk快速开发框架前期约定的更多相关文章

  1. Base-Android快速开发框架(一)--概述

    首先简单介绍一下Base.Base是本人长期以来经过10来款APP总结出来的一个Android快速开发框架.包含数据缓存模块.工具包.第三方组件包.网络模块.数据解析.常用主界面布局等.可以快速的开发 ...

  2. Android快速开发框架汇总

    知乎贴:Android 开发有什么好的架构么? 里面这篇不错:Architecting Android…The clean way? 知乎贴: 一.如果对App的性能.包size有要求,对代码有洁癖不 ...

  3. 【Android】Android的快速开发框架Afinal

    Afinal简介 Afinal是一个android的ioc,orm框架,内置了四大模块功能:FinalAcitivity,FinalBitmap,FinalDb,FinalHttp. 通过finalA ...

  4. ASP.NET Core模块化前后端分离快速开发框架介绍之4、模块化实现思路

    源码 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin 前 ...

  5. ASP.NET Core模块化前后端分离快速开发框架介绍之2、快速创建一个业务模块

    源码地址 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:https://nm.iamoldli.com 账户:admin 密码:admin ...

  6. C# 嵌入dll 动软代码生成器基础使用 系统缓存全解析 .NET开发中的事务处理大比拼 C#之数据类型学习 【基于EF Core的Code First模式的DotNetCore快速开发框架】完成对DB First代码生成的支持 基于EF Core的Code First模式的DotNetCore快速开发框架 【懒人有道】在asp.net core中实现程序集注入

    C# 嵌入dll   在很多时候我们在生成C#exe文件时,如果在工程里调用了dll文件时,那么如果不加以处理的话在生成的exe文件运行时需要连同这个dll一起转移,相比于一个单独干净的exe,这种形 ...

  7. Mario是一个基于.NETCore的简单快速开发框架

    Mario .NET Core简单快速开发框架 Mario是一个基于.NET Core的简单快速开发框架 GitHub:https://github.com/deeround/Mario 技术特点 基 ...

  8. 第一章 Net 5.0 快速开发框架 YC.Boilerplate--框架介绍

    YC.Boilerplate 框架介绍 YC.Boilerplate 是一套快速开发框架,采用当下流行的前后端分离开发模式,前端 采用VUE.后端采用Net 5.0:框架实现了 多租户.动态webAp ...

  9. CRL快速开发框架系列教程十三(嵌套查询)

    本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框 ...

随机推荐

  1. 谷歌浏览器下载地址 chrome最新版本 百度云地址

    每次下载更新谷歌浏览器是一件很蛋疼的事情.百度搜索"谷歌浏览器下载地址",居然有很多骗子网站,相信有很多不知所以的人中招了.收集了一些chrome的安装包,放在了百度云里面(打不开 ...

  2. [deviceone开发]-多种样式下拉菜单demo

    一.简介 该demo主要展示了3种下拉菜单. 一.仿QQ弹出菜单 主要实现原理是通过add一个ui,然后通过点击事件控制其visible属性来显示或者隐藏. 二.组合下拉菜单 主要用到的控件是do_A ...

  3. window搭建webpack,react,babel傻瓜教程

    首先现在的webpack教程已经很多了,写这篇的原因是因为自己在从小白开始的搭建过程中,并没有找到比较好的教程,花费了很多的时间,so 有了这篇博客,方便小白同学学习. node环境在这里不在赘述,p ...

  4. 天津政府应急系统之GIS一张图(arcgis api for flex)讲解(十)态势标绘模块

    config.xml文件的配置如下: <widget label="态势标绘" icon="assets/images/impact_area_over.png&q ...

  5. Android开发重点难点1:RelativeLayout(相对布局)详解

    前言 啦啦啦~博主又推出了一个新的系列啦~ 之前的Android开发系列主要以完成实验的过程为主,经常会综合许多知识来写,所以难免会有知识点的交杂,给人一种混乱的感觉. 所以博主推出“重点难点”系列, ...

  6. SharePoint 2013 图文开发系列之创建内容类型

    SharePoint内容类型,是很有特色的,就好比发布新闻,同在一张列表里,可以由内容类型区分图片新闻.文字新闻等,顾名思义,就是在一张列表里发布不同类型的项目. 1.添加新项目,选择SharePoi ...

  7. 配置 Oracle 11g侦听器来使用SQL操作ST_Geometry(DLL路径问题)

    注:http://resources.arcgis.com/zh-cn/help/main/10.2/index.html#/na/00qn0000001p000000/ (ArcGIS 帮助库) 1 ...

  8. Linux0.11内核--加载可执行二进制文件之1.copy_strings

    从现在开始就是分析最后的核心模块exec.c了,分析完这个文件后,就会和之前的所有分析形成一个环路,从创建进程.加载进程程序到进程调度.内存管理. exec.c的核心do_execve函数很长,而且用 ...

  9. zDiaLog弹出层

    zDiaLog弹出层  立即下载 插件描述:zDiaLog弹出层 弹出框: 代替window.open.window.alert.window.confirm:提供良好的用户体验: 水晶质感,设计细腻 ...

  10. #研发中间件介绍#定时任务调度与管理JobCenter

    郑昀 最后更新于2014/11/11 关键词:定时任务.调度.监控报警.Job.crontab.Java 本文档适用人员:研发员工   没有JobCenter时我们要面对的:   电商业务链条很长,业 ...