Monk快速开发框架前期约定

命名规则

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

  • 所有类都必须以大写开头
  • 接口必须以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
  • 所有的类,变量,属性,接口,枚举,方法,结构等命名必须有意义,遵循“宁可长,不可懵”的命名方式。

文件或文件夹夹介绍

  • 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="id"></param>
/// <returns></returns>

  

  • 所有的类,接口,枚举,结构必须添加C#语言summary的注释,注释格式为:
/// <summary>
/// 类名称:
/// 类描述:
/// 编写作者:
/// 编写日期:
/// </summary>

  

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

  

代码编写规则

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

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

afinal logoAndroid的快速开发框架 afinal

Afinal简介 Afinal 是一个android的sqlite orm 和 ioc 框架.同时封装了android中的http框架,使其更加简单易用: 使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题. Afinal的宗旨是简洁,快速.约定大于配置的方式.尽量一行代码完成所有事情. 目前Afinal主要有四大模块: FinalDB模块:android中的orm框架,一行代码就可以进行增删改查.支持一对多,多对一等查

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

首先简单介绍一下Base.Base是本人长期以来经过10来款APP总结出来的一个Android快速开发框架.包含数据缓存模块.工具包.第三方组件包.网络模块.数据解析.常用主界面布局等.可以快速的开发Android应用,适合新手入门以及快速开发. 当然Base里面也引用了很多第三方的框架,并非所有都是原创.当然所引用的模块也是这么多项目累积出来的,比较稳定.好用的,可避免少走弯路. 接下来大概分几个阶段介绍,包含整体框架介绍.数据缓存.网络模块.常用第三方组件包.常用主界面布局等,在介绍的途中也

Android 快速开发框架Afinal

本文转载自:http://www.oschina.net/p/afinal/ Afinal简介 Afinal 是一个android的sqlite orm 和 ioc 框架.同时封装了android中的http框架,使其更加简单易用: 使用finalBitmap,无需考虑bitmap在android中加载的时候oom的问题和快速滑动的时候图片加载位置错位等问题. Afinal的宗旨是简洁,快速.约定大于配置的方式.尽量一行代码完成所有事情. 目前Afinal主要有四大模块: FinalDB模块:a

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

源码 GitHub:https://github.com/iamoldli/NetModular 演示地址 地址:http://129.211.40.240:6220 账户:admin 密码:admin 前端框架演示地址(临时) 地址:http://progqx5cu.bkt.clouddn.com/skins/index.html#/ 账户:admin 密码:admin 目录 1.开篇 2.快速创建一个业务模块 3.数据访问模块介绍 4.模块化实现思路 获取官方源码 为了方便查看源码,我们先获

看大师讲解Android快速开发框架EasyAndroid

前几天做了小应用,感觉小有成就,名字叫"长见识了",是一款趣味答题类的游戏,题目各种火爆各种经典,下载地址,看似一个简单的答题小游戏却是五脏俱全,从开发流程上都进行了严格的规范,大家有空可以下载玩玩~ 在这个应用中,用到了我以前集成的一个快速开发框架-EasyAndroid,这个框架我以前在做项目的时候总结,整理出来的,对于快速开发Android应用非常实用. 其实,Android应用的开发并不难,我们拿到一款Android应用后,百分之九十以上无外乎有这么几个功能: 1,IOC Mo

CRL快速开发框架系列教程十(导出对象结构)

本系列目录 CRL快速开发框架系列教程一(Code First数据表不需再关心) CRL快速开发框架系列教程二(基于Lambda表达式查询) CRL快速开发框架系列教程三(更新数据) CRL快速开发框架系列教程四(删除数据) CRL快速开发框架系列教程五(使用缓存) CRL快速开发框架系列教程六(分布式缓存解决方案) CRL快速开发框架系列教程七(使用事务) CRL快速开发框架系列教程八(使用CRL.Package) CRL快速开发框架系列教程九(导入/导出数据) CRL快速开发框架系列教程十(

《HiWind企业快速开发框架实战》(3)使用HiWind创建和管理菜单

<HiWind企业快速开发框架实战>(3)使用HiWind创建和管理菜单 关于HiWind HiWind企业快速开发框架,是基于.NET+EasyUi(支持各种前端扩展,后面将扩展Bootstrap等)+多数据(MsSql.Oracle.MySql等)开发的一款企业管理系统快速开发框架. HiWind企业快速开发框架,中文名称:疾风.意为像风一样快速完成你的产品之意. 使用HiWind简单的增删改查,权限设置,几乎不需要编写代码完成.高度辅助的情况下,并不会影响你的灵活发挥,你仍然可以使用部分

微信快速开发框架V2.3--增加语音识别及网页获取用户信息(八),代码已更新至Github

不知不觉,版本以每周更新一次的脚步进行着,接下来应该是重构我的代码及框架的结构,有朋友反应代码有点乱,确实如此,当时写的时候只是按照订阅号来写的,后来才慢慢增加到支持API接口.目前还在开发第三方微信平台,旨在使用户能够无需自己开发就能简易搭建微信平台. 更新内容 1.增加支持语音识别 2.增加"网页授权获取用户基本信息" 语音识别其实是对Voice信息的一个扩展,您必须启用语音识别功能,启用后会在VoiceMessage中增加一个Recongnition字段,我们可以判断这个字段的内

ASP.NET网站入侵第二波(LeaRun.信息化快速开发框架 已被笔者拿下)

笔者小学文化,语言组织能力差,写的不通的地方请大家将就着看,不喜勿喷. 上篇我讲了如何在上传文件中入侵服务器,這次我们稍微多讲一点. 还是先讲下流程: 1.上传代码页面  我上传的是ashx页面. 2.用ashx页面已文本形式显示web.Config的内容 得到数据库连接, 3.用ashx在网站根目录输出vbs脚本(创建Windows账户脚本) 4.开启数据库的xp_cmdshell. 5.利用数据库执行在网站根目录输出vbs脚本.入侵就完成了 ashx代码文件如下 /// <summary>