Skip to main content
Toggle navigation
经验总结
微信公众号
语言工具
Web前端
Html
Css
Javascript
jQuery
Java
Servlet
Jsp
Tomcat
Framework
Oracle Sql
Microsoft Sql
Regular Expression
Git
思维引导
基本编程规范
C#编程规范
《Effective C#》
《OOD启思录》
性能优化
设计模式
设计模式概述
创建型模式
结构型模式
行为型模式
架构模式
企业应用架构模式
《大型网站技术架构》
架构师考试复习笔记
项目管理
软件开发流程
《持续集成》
《项目计划、进度与控制》
环境搭建
linux基础
linux常用软件安装
在linux下部署oracle数据库
在linux下部署java程序
搭建便携式node开发环境
杂谈
计算机名词
Windows Azure发布网站
在团队开发中应用StyleCop
C#编程规范
适用于C#的基本编程规范
1.文件和结构
1个文件只包含1个Public类
1个Public类中可以有多个内部类
“文件名”和“类名”必须相同
2.命名规范:见名知意
名词
命名空间、接口、类、结构体、枚举、属性、域、变量、常量
动词(短语)
方法
“_前缀”
域
“I前缀”
接口
“后缀Callback”
委托
“后缀EventHandler”
事件
“T”
泛型参数
暴露给外部的数据大写,内部使用的数据小写
3.常量
运行时static readonly
引用类型 || 会随着版本变化的数据
编译时const
值类型 && 不会随着版本变化的数据
4.字符串
拼接
量少时使用“+”,量大时使用StringBuilder
相等
str1.Equals(str2, StringComparison.OrdinalIgnoreCase)
5.描述相同数据类型的元素集合
数组
大小固定,性能较高,只读场景下须Clone()代价高
泛型集合
大小可变,性能稍差,可以转为ReadOnlyCollection
集合不能是null
没有元素时是空集合
6.结构体
用于存储数据
如果需要比较
请实现IEquatable
默认值
默认构造函数将struct初始化为0,必须将0定义为一个有意义的状态
7.类
字段
一个成员,表示与对象或类关联的变量
属性
通过get/set附加简单逻辑,暴露域
构造函数
初始化数据成员,做必须的工作;不要调用虚方法
方法
将输出参数放到最后
事件
引发事件的代码放到try...catch中(防止被异常终止程序)
回调
确定执行时机,不确定具体行为,由传递的委托确定
虚函数
留给子类重写实现
接口
定义行为契约
抽象类
抽象出共同的数据和行为;构造函数对外不可见protected
静态类
框架内的核心支持辅助类
8.前置条件不满足:用户错误 / 系统异常
用户错误
出问题了,责任在我(内因),更正后可以继续
系统异常
出问题了,责任在外部环境(外因),除非让环境变化,否则进行不下去
①共同点
通过检查前置条件,事先预测错误或异常
都是消息传递方式,分别由“错误码”/“异常类型”来区分消息
②不同点
用户错误通过正常流程返回,提示用户更正输入
系统异常直接抛出,告知调用程序环境不正常;可被try...catch处理:尝试修复 / 记录 / 重新抛出
1.可以参考一些.Net类库的源码,了解C#的编程风格
1.文件和结构
2.命名规范:见名知意
3.常量
4.字符串
5.描述相同数据类型的元素集合
6.结构体
7.类
8.前置条件不满足:用户错误 / 系统异常
返回顶部