C#命名约定】的更多相关文章

命名约定 最重要的一致性规则是命名管理. 命名风格快速获知名字代表是什么东东: 类型? 变量? 函数? 常量? 宏 ... ? 甚至不需要去查找类型声明. 我们大脑中的模式匹配引擎可以非常可靠的处理这些命名规则. 命名规则具有一定随意性, 但相比按个人喜好命名, 一致性更重, 所以不管你怎么想, 规则总归是规则. 通用命名规则 Tip 函数命名, 变量命名, 文件命名应具备描述性; 不要过度缩写. 类型和变量应该是名词, 函数名可以用 "命令性" 动词. 如何命名: 尽可能给出描述性的…
本文翻译自<Entity Framework Core: Naming Convention>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final).正式版发布时,功能可能存在变动. Entity Framework 迁移允许从模型生成数据库,这意味着必须从类名和属性名生成数据库对象的名称.对于大多数人来说使用默认名称是没有问题的,但是,您的DBA可能会要求您使用特定的命名…
编程标准 (Coding Standard) FreeRTOS 源代码遵守 MISRA (Motor Industry Software Reliability Association) 规范. 与 MISRA 标准有出入的地方如下: • 两个 API 函数具有两个出口点.之所以这样是为了效率. • 使用标准 C 数据类型,而不是用 typedef 将其名称重定义. • 当建立一个任务时,代码会直接处理堆栈的栈顶和栈底地址.由于不同的平台的总线宽度不同,这就需要代码中对指针变量进行算术运算.因此…
命名约定 我们在命名标识符时(包括参数,常量,变量),应使用单词的首字母大小写来区分一个标识符中的多个单词,如UserName. PascalCasing PascalCasing包含一到多个单词,每一个单词第一个字母大写,其余字母均小写.例如:HelloWorld.SetName等. 除了参数.变量.常量外,所有命名空间名称.类.函数.接口.属性.事件.枚举等名称的命名,使用 Pascal 风格. camelCasing camelCasing包含一到多个单词,第一个单词首字母小写,其余单词首…
Tips 书中的源代码地址:https://github.com/jbloch/effective-java-3e-source-code 注意,书中的有些代码里方法是基于Java 9 API中的,所以JDK 最好下载 JDK 9以上的版本. 遵守普遍接受的命名约定 Java平台有一组完善的命名约定(naming conventions),其中许多约定包含在Java语言规范[JLS, 6.1]中.宽泛地说,命名约定分为两类:字面(typographical)的和语法的(grammatical).…
Ember.js使用一个运行时解析器去连接你的对象而没有很多样板文件.作为一个开发者,如果你把code放到约定好的位置这个解析器会自动工作.   一.The Application     1. 当你的app启动时,Ember.js将渲染application template作为主要模板.        2. 如果提供了controller:application, Ember.js将设置一个controller:application的实例作为template的controller.这意味着…
本文翻译自<Entity Framework Core: Naming Convention>,由于水平有限,故无法保证翻译完全正确,欢迎指出错误.谢谢! 注意:我使用的是 Entity Framework Core 2.0 (2.0.0-preview2-final).正式版发布时,功能可能存在变动. Entity Framework 迁移允许从模型生成数据库,这意味着必须从类名和属性名生成数据库对象的名称.对于大多数人来说使用默认名称是没有问题的,但是,您的DBA可能会要求您使用特定的命名…
方法命名约定 之前在学习<运算符重载>一节时曾经说过一个方法命名约定:方法的第一个字符决定了方法的优先级.现在再说另一个命名约定:如果方法以冒号(:)结尾,则调用目标是运算符后面的实例. 比如下面这个例子: class Cow { def ^(moon: Moon) = println("Cow jumped over the moon") } class Moon { def ^:(cow: Cow) = println("This cow jumped ove…
目录 通用命名规则 文件命名 类型命名 变量命名 常量命名 函数命名 宏命名 枚举命名 命名空间命名 命名规则的特例 学习自Google C++编程规约 通用命名规则 函数命名, 变量命名, 文件命名要有描述性; 少用缩写. int price_count_reader; // 无缩写配合下划线 int num_errors; // "num" 是一个常见的写法 int num_dns_connections; // 人人都知道 "DNS" 是什么 文件命名 C++…
第十单元(动态组件 keep-alive(钩子函数) 递归组件(name) 组件命名约定) #课程目标 熟练掌握动态组件的实现 掌握keep-alive缓存组件,以及相应的钩子函数 熟练掌握递归组件,以及递归组件的实现原理 了解组件的命名约定 #知识点 #1.动态组件 ​ 首先得明白什么叫做动态组件,让多个组件使用同一个挂载点,并动态切换,这就是动态组件. #1.1<component>元素 在vue中,可以通过使用保留的 <component> 元素,动态地绑定到它的 is 特性…
类名 类名应该是名词, 描述对象.应该按照驼峰式写法,即只有每个单词首字母大写. 接口名称 接口名称应该是形容词,描述功能.应该以“able”.“ible”结尾,否则应该是名词.通常遵循和类名写相同的大小约定. public interface Serializable {...} public interface SystemPanel {...} 方法名称 方法名称应该包含一个动词.按照大小写混写格式书写,以小写字母开头,后面每个单词首字母大写.方法名称还可以包含形容词和名词. 实例和静态变…
1 局部变量和方法参数以小写字母开头 2 方法名字以小写字母开头 3 全局变量以$开头 4 实例变量以@开头 5 类变量以@@开头 6 常量以大写字母开头 7  类和模块名以大写字母开头…
1.通过命名规则 函数命名.变量命名.文件命名应具有描写叙述性. 类型和变量应该是名词,函数名能够用"命令性"动词. 2.文件命名 文件名称所有小写,能够包括下划线(_)或者断线(-). foo_bar.h.foo_bar.cc 类型命名 每一个单词以大写字母开头,不包括下划线.MyClass 3.类型命名 全部类型命名--类.结构体.类型定义.枚举--使用同样约定.class FooClass{...}.enum FooType{...} 4.变量命名 变量名一律小写,单词间下面划线…
c#语言规范建议使用特定大小写约定创建字标识符 Pascal 大小写     标识符中每个单词的首字母大写   用于类型名和成员名  例如:CarDeck,FirstName Camel 大小写     除了第一个单词以为,标识符中所有的单词都首字母大写    用于本地变量和方法参数   例如:totalCycleCount,randomSeedParm 全大写   标识符有大写字母组成   用于缩写词 Console.WriteLine("Mrs {0}",18); c#中可以使用任…
Convention for Description Example Class 类名应该在CamelCase中 MyCustomClass 类名应包含字母数字字符. 如果属于技术术语,则允许使用数字. Base64 不要使用下划线,连字符或任何其他非字母数字字符. 类名应至少包含一个由dot(.)分隔的唯一命名空间. TopLevelNamespace.MyClassName 不由Sencha分发的类不应该使用Ext作为顶级命名空间. 顶级命名空间和实际的类名应该在CamelCase中,其他的…
推荐的标识命名风格 风格名称 描述 使用建议 示例 Pascal大小写 标识符中每个单词都首字母大写 用于类型名和成员名 CarDeck, DealersHand Camel大小写 除第一个单词以外,标识符中所有的单词都首字母大写 用于本地变量和方法参考 totalCycleCount, randomSeedParam 全大写 标识符由全大写字母组成 仅用于缩写词 IO, DMA, XML…
走进异步编程的世界 - 开始接触 async/await 序 这是学习异步编程的入门篇. 涉及 C# 5.0 引入的 async/await,但在控制台输出示例时经常会采用 C# 6.0 的 $"" 来拼接字符串,相当于string.Format() 方法. 目录 What's 异步? async/await 结构 What’s 异步方法? 一.What's 异步?      启动程序时,系统会在内存中创建一个新的进程.进程是构成运行程序资源的集合.      在进程内部,有称为线程的…
原文:Areas 作者:Dhananjay Kumar 和 Rick Anderson 翻译:耿晓亮(Blue) 校对:许登洋(Seay) Areas 是 ASP.NET MVC 用来将相关功能组织成一组单独命名空间(路由)和文件夹结构(视图)的功能.使用 Areas 创建层次结构的路由,是通过添加另一个路由参数 area 到 Controller 和 action. Areas 提供了一种把大型 ASP.NET Core MVC Web 应用程序分为较小的功能分组的方法.Area 是应用程序内…
有时,开发人员会对应用程序进行更改,当安装为以前版本的更新时出现令人惊讶的结果 - 快捷方式断开,小部件消失或甚至根本无法安装. 应用程序的某些部分在发布后是不可变的,您可以通过理解它们来避免意外. 你的包名和证书 其中最明显和最可见的是“manifest package name”,它是在AndroidManifest.xml中为您的应用程序提供的唯一名称. 该名称使用Java语言风格的命名约定,具有Internet域所有权有助于避免名称冲突. 例如,由于Google拥有域“google.co…
人们问我最多的问题之一是在CSS类名中“--”和“__”是什么意思?它们的出现是源于BEM和Nicolas Gallagher... BEM的意思就是块(block).元素(element).修饰符(modifier),是由Yandex团队提出的一种前端命名方法论.这种巧妙的命名方法让你的CSS类对其他开发者来说更加透明而且更有意义.BEM命名约定更加严格,而且包含更多的信息,它们用于一个团队开发一个耗时的大项目. 重要的是要注意,我使用的基于BEM的命名方式是经过Nicolas Gallagh…
NuGet.exe 下载地址 本文翻译自: https://docs.nuget.org/Create/Creating-and-Publishing-a-Package https://docs.nuget.org/Create/Enforced-Package-Conventions 基本步骤 使用 nuget spec 命令生成 nuspec 文件 编辑 nuspec 文件,使用 nuget pack 命令打包 从程序集创建程序包 执行以下命令:生成  nuspec 文件: nuget s…
在Membership系列的最后一篇引入了ASP.NET Identity,看到大家对它还是挺感兴趣的,于是来一篇详解登录原理的文章.本文会涉及到Claims-based(基于声明)的认证,我们会详细介绍什么是Claims-based认证,它与传统认证方式的区别,以及它的特点.同时我们还会介绍OWIN (Open Web Interface for .NET) 它主要定义了Web Server 和Web Application之间的一些行为,然后实现这两个组件的解耦(当然远不止这么点东西,我相信…
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之6.ABP依赖注入 ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 本文由 上海-半冷 提供翻译 什么是依赖注入 如果你已经知道依赖注入的概念,构造函数和属性注入模式…
点这里进入ABP系列文章总目录 基于DDD的现代ASP.NET开发框架--ABP系列之16.ABP应用层——数据传输对象(DTOs) ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 数据传输对象(Data Transfer Objects)用于应用层和…
点这里进入ABP系列文章总目录 ABP(现代ASP.NET样板开发框架)系列之20.ABP展现层——动态生成WebApi ABP是“ASP.NET Boilerplate Project (ASP.NET样板项目)”的简称. ABP的官方网站:http://www.aspnetboilerplate.com ABP在Github上的开源项目:https://github.com/aspnetboilerplate 建立动态WebApi控制器 Abp框架能够通过应用层自动生成web api: pu…
文档目录 本节内容: 简介 一个快速示例 其它特性 启动模板 如何使用 简介 我们总是对不同的需求开发不同的应用.但至少在某些层面上,一次又一次地重复实现通用的和类似的功能.如:授权,验证,异常处理,日志,本地化,数据库连接管理,设置管理,审核日志等功能.所以我们创建架构和最佳实践,如分层和模块架构,DDD,依赖注入等,并尝试开发应用时基于一些约定. 由于所有这些是非常耗时而且很难单独创建并可适用于每个项目,许多公司创建自己的框架,他们用自己的框架能快速开发新应用而且不出错.但不是所有的公司都是…
文档目录 本节内容: 什么是依赖注入 传统方式的问题 解决方案 构造器注入模式 属性注入模式 依赖注入框架 ABP 依赖注入基础 注册依赖 约定注入 辅助接口 自定义/直接 注册 使用IocManager 使用Castle Windsor API 解析 构造器和属性注入 IIocResolver 和 IIocManager 另外 IShouldInitialize 接口 Asp.net Mvc 和 Asp.net Web Api 集成 Asp.net Core 集成 最后提醒 什么是依赖注入 如…
文档目录 本节内容: IApplicationService 接口 ApplicationService 类 CrudAppService 和 AsyncCrudAppService 类 简单的CRUD应用服务示例 定制CRUD应用服务 获取列表 创建和更新 其它 工作单元 一个应用服务生命周期 应用服务把领域逻辑暴露给展现层.一个应用服务被展现层使用一个DTO(数据传输对象)参数所调用,使用领域对象执行一些特殊业务逻辑并返回一个DTO给展现层.因此,展现层是完全独立于领域层,在一个理想的分层应…
文档目录 本节内容: DTO 必要性 领域层的抽象 数据隐藏 序列化和延迟加载问题 DTO 约定和验证 示例 DTO和实体间自动映射 使用特性和扩展方法进行映射 辅助接口和类 Data Transfer Objects(DTO)用来在应用层和展现层之间传输数据. 展现层使用一个DTO调用一个应用服务方法,然后应用服务使用服务对象执行一些特定业务逻辑,并返回一个DTO给展现层.因此,展现层是完全独立于领域层的.在一个理想的分层应用里,展现层不直接使用领域对象(仓储.实体...). DTO 必要性…
文档目录 本节内容: 创建动态Web Api控制器 ForAll 方法 重写 ForAll ForMethods Http 动词 WithVerb 方法 HTTP 特性 命名约定 Api 浏览器 RemoteService 特性 动态Javascript代理 AJAX 参数 单独服务脚本 Angular 集成 启用/禁用 包装结果 关于参数绑定 FormUri 和 FormBody 特性 DTO vs 简单类型 创建动态Web Api 控制器 这个文档是关于Asp.net Web Api的,如果…