第一篇:20120222培训班标准命名及学员通讯录规范要求
培训班命名及学员通讯录地址规范要求
2012.2.22 为便于对培训班相关信息的统计查询,请各部门培训项目负责人按规范要求对培训班进行命名,培训班命名规范要求如下:
一、培训班命名
1、培训班命名格式:培训班开始时间+石油公司名称+油田公司名称+委培单位名称+培训班名称
说明:
培训班开始时间:即为培训班学员报到日期,格式为:20120201 石油公司名称:四大石油公司使用简称即中国石油、中国石化、中国海油、中化集团,其它石油公司使用全称。
油田公司名称:用全称 委培单位名称:用全称 培训班名称:用全称
2、培训班命名要完整,名称确定后要保持一致性,如:管理信息系统上的培训班名称与交档案的名称要一致;所有档案资料培训班名要完整。
二、学员通讯录地址规范
每位学员的通讯地址包括:石油公司名称(四大石油公司使用简称即中国石油、中国石化、中国海油、中化集团,其它石油公司使用全称)+油田公司全称+委培单位全称+部门
附件一:中国石油下属企业 附件二:中国石化集团公司下属单位 附件三:中国海油业务公司 附件四:中化集团公司下属公司
附件一:
中国石油下属企业
一、8家专业公司
勘探与生产分公司 炼油与化工分公司 销售分公司(经理人培训班)天然气与管道分公司 中国石油天然气勘探开发公司 工程技术分公司 工程建设分公司 装备制造分公司
二、17家油气田企业
大庆油田有限责任公司 辽河油田分公司 长庆油田分公司 塔里木油田分公司 新疆油田分公司 西南油气田分公司 吉林油田分公司 大港油田分公司 青海油田分公司 华北油田分公司 吐哈油田分公司 冀东油田分公司 玉门油田分公司 浙江油田分公司 南方石油勘探开发公司 中石油煤层气有限责任公司 对外合作经理部
三、33家炼化企业
大庆石化分公司 吉林石化分公司 抚顺石化分公司 辽阳石化分公司 兰州石化分公司 独山子石化分公司 乌鲁木齐石化分公司 夏石化分公 大连石化分公司 大连西太平洋石油化工有限公司 锦州石化分公司 锦西石化分公司 大庆炼化分公司 哈尔滨石化分公司 广西石化分公司 四川石化有限责任公司 广东石化项目筹备组 大港石化分公司 华北石化分公司 呼和浩特石化分公司 辽河石化分公司 长庆石化分公司 克拉玛依石化分公司 庆阳石化分公司 东北炼化工程有限公司 炼化工程建设项目部 东北化工销售分公司 西北化工销售分公司 华东化工销售分公司 华北化工销售分 华南化工销售分公司 西南化工销售分公司 吉林燃料乙醇有限责任公司
四、37家销售企业
东北销售分公司 西北销售分公司 中油燃料油股份有限分公司 润滑油分公司 辽宁销售分公司 四川销售分公司 广东销售分公司 内蒙古销售分公司 北京销售分公司 上海销售分公司 黑龙江销售分公司 河北销售分公司 新疆销售分公司 山东销售分公司 陕西销售分公司 吉林销售分公司 江苏销售分公司 甘肃销售分公司 河南销售分公司 湖北销售分公司 浙江销售分公司 云南销售分公司 重庆销售分公司 湖南销售分公司 安徽销售分公司 广西销售分公司 福建销售分公司 大连销售分公司 山西销售分公司 天津销售分公司 宁夏销售分公司 贵州销售分公司 青海销售分公司 江西销售分公司 西藏销售分公司 海南销售分公司 大连海运公司
五、12家天然气与管道储运企业
北京油气调控中心 管道建设项目经理部 管道公司
西气东输管道公司 北京天然气管道有限公司 西部管道公司 唐山液化天然气项目经理部 大连液化天然气有限公司 江苏液化天然气有限公司 华北天然气销售分公司 昆仑燃气有限公司 昆仑天然气利用有限公司
六、11家海外业务企业
中国石油尼罗河公司 中国石油哈萨克斯坦公司 中国石油南美公司 中国石油伊拉克公司 中国石油伊朗公司 中国石油阿姆河天然气公司 中国石油中亚天然气管道公司 中油集团东南亚管道有限公司
中国联合石油有限责任公司 中国石油中俄合作项目部 华铭国际投资公司
七、7家工程技术服务企业
西部钻探工程公司 长城钻探工程公司 渤海钻探工程公司
川庆钻探工程公司 东方地球物理公司 测井有限公司 海洋工程有限公司
八、5家工程建设企业
管道局 工程建设公司 工程设计有限责任公司 寰球工程公司 中国昆仑工程公司
九、5家装备制造企业
技术开发公司 宝鸡石油机械有限责任公司 宝鸡石油钢管厂 济柴动力总厂 渤海石油装备制造有限公司
十、15家科研及事业单位
勘探开发研究院 咨询中心 规划总院 石油化工研究院 经济技术研究院 钻井工程技术研究院 安全环保技术研究院 石油管工程技术研究院 北京石油管理干部学院 石油工业出版社 石油报社 审计服务中心 物资公司 信息技术服务中心 广州石油培训中心
十一、9家其他单位
运输公司 中油财务有限责任公司 华油集团公司 华油北京服务总公司 昆仑能源有限公司 克拉玛依市商业银行 中油资产管理有限公司 昆仑金融租赁有限责任公司 竞盛保险经纪股份有限公司
附件二:
中国石化集团公司下属单位
一、21家油田企业
胜利油田分公司 华东分公司 中原油田分公司 河南油田分公司 东北油气分公司 江汉油田分公司 江苏油田分公司 石油工程西南有限公司 西南油气分公司 新星石油有限责任公司 天然气分公司 西北油田分公司 上海海洋石油局 勘探南方分公司 华北分公司 管道储运分公司
二、37家炼化企业
燕山分公司 福建炼油化工有限公司 上海高桥分公司 上海石油化工股份有限公司 茂名分公司 北海分公司 扬子石化分公司 上海沥青销售分公司 长岭分公司 青岛石油化工有限责任公司 海南炼油化工有限公司 西安石化分公司 安庆分公司 保定石化厂 荆门分公司 催化剂分公司 九江分公司 中原石油化工有限责任公司石家庄炼化分公司 化工销售分公司 武汉分公司 广州分公司 润滑油分公司 青岛炼油化工有限责任公司 镇海炼化分公司塔河分公司
三、30个成品油销售企业
北京石油分公司 陕西石油分公司 河北石油分公司 新疆石油分公司 上海石油分公司 黑龙江石油分公司 浙江石油分公司 甘肃石油分公司 福建石油分公司 江西石油分公司 重庆石油分公司 河南石油分公司 内蒙古石油分公司 湖南石油分公司 吉林石油分公司 广西石油分公司 青海石油分公司 贵州石油分公司 宁夏石油分公司 辽宁石油分公司
四、8家设计、施工单位
工程建设公司 第五建设公司 洛阳石化工程公司 第四建设公司 南京工程有限公司 第十建设公司
五、12家科研单位
石油化工科学研究院 石油工程技术研究院 抚顺石油化工研究院 石油物探技术研究院 齐鲁分公司 金陵分公司 天津分公司 巴陵分公司
仪征化纤股份有限公司南京化学工业有限公司洛阳分公司 四川维尼纶厂 湖北化肥分公司 济南分公司 沧州分公司 湛江东兴石油企业有限公司天津石油分公司 山西石油分公司 江苏石油分公司 安徽石油分公司 山东石油分公司 湖北石油分公司 广东石油分公司 海南石油分公司 云南石油分公司 四川石油分公司 上海工程有限公司 宁波工程有限公司 北京化工研究院 上海石油化工研究院
青岛安全工程研究院 科技开发有限公司 石油勘探开发研究院
六、10家专业公司及其他单位
经济技术研究院(咨询公司)财务有限责任公司 国际石油勘探开发公司 国际石油工程有限公司 中国石化报 社炼化工程公司 石油化工管理干部学院 机关服务中心 燃料油销售有限公司 中国石化出版社
七、12个境外代表处
中国石化香港代表处 中国石化伊朗代表处 中国石化美国代表处 中国石化欧洲代表处 中国石化东南亚代表处 中国石化俄罗斯代表处 中国石化北非代表处 中国石化中亚代表处 中国石化南美代表处
中国石化英国代表处中国石化中东代表处中国石化沙特代表处
附件三:
中国海油业务公司
一、上游业务
1.中国海洋石油有限公司:(下辖)中海石油(中国)有限公司天津分公司 中海石油(中国)有限公司湛江分公司 中海石油(中国)有限公司深圳分公司 中海石油(中国)有限公司上海分公司 2.中海石油研究中心
二、中上游业务
中海石油气电集团有限责任公司 中海石油炼化有限责任公司 中国海洋石油总公司销售分公司 中海油气开发利用公司 中国化工供销(集团)总公司 中海石油化学股份有限公司 中国化工建设总公司 中海石油化工进出口有限公司 中海油海西宁德工业区开发有限公司 中海石油炼化与销售事业部
三、专业技术 中海油田服务有限公司 海洋石油工程股份有限公司 中海油能源发展股份有限公司 中国近海石油服务(香港)有限公司
四、金融服务
中海石油财务有限责任公司 中海信托股份有限公司 中海石油保险有限公司 中海石油投资控股有限公司
五、其他
中海油新能源投资有限责任公司 中国海洋石油渤海公司 中国海洋石油南海西部公司 中国海洋石油南海东部公司 中国海洋石油东海公司 中海实业公司
中海油基建管理有限责任公司 中化建国际招标有限公司
中海油信息技术(北京)有限责任公司 中国海洋石油报社
附件四:
中化集团公司下属公司
一、中化国际(控股)股份有限公司 中化国际北京分公司 中化国际天津分公司 中化国际成都办事处 中化国际昆明办事处 中化国际沈阳办事处 中化国际温州办事处 苏州中化国际聚氨酯有限公司 西双版纳中化橡胶有限公司 南通江山农药化工股份有限公司 上海傲兴国际船舶管理有限公司 上海思尔博化工物流有限公司 上海中化国际仓储运输有限公司
中化兴中石油转运(舟山)有限公司 中化兴源石油储运(舟山)有限公司 中化国际广东分公司
中化国际青岛办事处 中化国际武汉办事处 中化国际海口办事处 中化国际泉州办事处 中化国际厦门办事处 海南中化橡胶有限公司
中化国际仓储运输重庆有限公司 海南中化船务有限责任公司 上海中化思多而特船务有限公司 中化国际仓储运输有限公司 广东中化国际仓储运输有限公司
二、中化蓝天集团有限公司
1、氟化工:
浙江省化工研究院有限公司 浙江蓝天环保高科技股份有限公司 中化近代环保化工(西安)有限公司 中化太仓化工产业园 江西三美化工有限公司 江西省兴国县中萤矿业有限公司 浙江蓝苏氟化有限公司 杭州富时特化工有限公司 浙江蓝天环保化工有限公司 贵州蓝天化工有限公司 福建省建阳金石氟业有限公司
2、医药流通:浙江英特药业有限责任公司
3、工程设计:浙江省天正设计工程有限公司
4、农药:浙江禾田化工有限公司
5、其他:国家南方农药创制中心浙江基地
三、中化宁波(集团)有限公司
四、远东宏信有限公司
五、中化辽宁有限公司
第二篇:班干部培训班学员要求
班干部培训班学习要求
为了使同学们更好地在本届班干部培训班上学有所获,提高学习效率与开展各项工作的能力,下面我将向大家简单介绍一下有关本届班干部培训班的相关事宜,希望各位仔细听好并做好笔记。
一.关于培训班流程:
本届培训班分为五部分:
1.开班仪式2.精品讲座 3.拓展训练 4.优秀学员座谈会
5.结业典礼
二.关于考勤制度:
1.每次讲座学员提前15分钟到达会场按照座位安排对号入座,每次讲座前10分钟工作人员进行考勤,迟到者一律不准进入会场,届时不到者以及不在指定位置就坐者记为旷课
2.每节课后工作人员会随机抽查一个或多个系部学员的到场情况,保证出勤率,防止早退现象发生
3.学员不得无故缺席、迟到、早退。学员如确实有事不能参加者,应履行相应请假手续,由辅导员开假条,学生处登记后方能准假。补假假条无效。若无故不参加培训,取消其评选优秀学员的资格。
三.关于优秀学员评选条例:
1.自觉接受培训考核,学员必须参加讲座5-6节次以上,不得无故旷课
2.学员取得较好的学习效果(每次讲座学员须认真记录听课
笔记,讲座结束后全体学员需交1500-2000字的培训心得,其中较好者可参与优秀学员评选)
3.对于培训期间表现优秀的学员可参评优秀学员(如讲座期间积极配合老师进行师生互动)
第三篇:C#编码规范及命名规范
山东锋士自动化系统有限公司
C# 编码规范
指导规则和最佳实践 Version 1.0
董毅 2010/4/26
第一条 编码的风格和细节要求
编码风格
至少在单一文件中缩进和风格要保持一致,同一行中内容不要太长,最好不要大于10个单词。不要随意地或者以容易混淆作用域嵌套关系的方式放置括号,要尽量遵循每个文件中已经使用的体例。
命名约定和规范
1.不要使用晦涩的名称,起名要简单易懂
a.避免使用单字母做变量名,比如:i 或者 t。应使用index或者temp进行替代 b.不要缩写单词,比如用num代替number 2.使用全大写字母表示宏,常量,如:LIKE_THIS 3.类,函数和枚举的名称的单词首字母大写,如:LikeThis public class SomeClass {
const int DefaultSize = 100;public void SomeMethod(){ } } 4.变量的首字母小写,其他单词首字母大写,如:likeThis void MyMethod(int someNumber){ int number;} 5.接口的第一个字母用I开头
interface IMyInterface {...} 6.私有成员变量以m_开头,剩余内容遵从首字母大写的规范
public class SomeClass { private int m_Number;} 7.属性类以Attribute做后缀,异常类以Exception做后缀
8.命名方法以【动词】-【目标】组成,比如:ShowDialog()
9.拥有返回值的方法应该以返回值描述其方法名,比如:GetObjectState()10.总是使用C#的预定义类型,而不是System命名空间中的别名,比如:
object 而不是
Object string 而不是
String int
而不是
Int32 11.对于基类,类型描述采用大写字母。当处理.NET中的类型时才保留后缀Type //正确
public class LinkedList
public class LikedList
12.使用有意义的名字空间,比如项目名称或者公司名称 13.避免使用类的全称,而是使用using语句进行引用 14.避免在命名空间内使用using语句
15.将所有framework命名空间吗放在一起,后面放自定义或第三方的命名空间名
using System;using System.Collections;using System.ComponentModel;using System.Data;using MyCompany;using MyControls;
16.采用委托推断,不要显式实例化委托
delegate void SomeDelegate();public void SomeMethod(){ } SomeDelegate someDelegate = SomeMethod;
17.缩进至少在同一文件中要保持统一风格,注释缩进和其注释的代码在同一层次 18.所有注释要经过认真检查,不要有不明语义或者错别字 19.所有成员变量应该定义在前面,和属性或方法间空开一行
public class MyClass { int m_Number;string m_Name;
public void SomeMethod1(){ } public void SomeMethod2(){ } }
20.局部变量的定义尽可能靠近它的初次使用 21.文件名应该体现其包含的类
22.当使用partial类型且每部分分配一个文件时,以类名+逻辑部分的方式来命名文件
//MyClass.cs public partial class MyClass { } //MyClass.Designer.cs public partial class MyClass { } 23.做大括号总是放在新行中
24.匿名方法模仿普通方法布局,但是大括号要和委托声明对其
delegate void SomeDelegate(string someString);//正确
void InvokeMethod(){ SomeDelegate someDelegate = delegate(string name){ MessageBox.Show(name);};someDelegate(“Juval”);} //错误
void InvokeMethod(){ SomeDelegate someDelegate = delegate(string name){ MessageBox.Show(name);};someDelegate(“Juval”);}
25.没有参数的匿名方法使用空括号,仅当匿名方法被用于任何委托时才可以省略括号
delegate void SomeDelegate();//正确
SomeDelegate someDelegate1 = delegate(){ MessageBox.Show(“Hello”);};//错误
SomeDelegate someDelegate1 = delegate { MessageBox.Show(“Hello”);};
26.在使用Lambda表达式时,模仿一般的方法规范。
delegate void SomeDelegate(string someString);
SomeDelegate someDelegate =(name)=> { Trace.WriteLine(name);MessageBox.Show(name);};
27.当内联Lambda表达式仅包含一个简单的语句时,应避免多语句或者返回语句出现在大括号中。可以简单使用小括号表达:
delegate void SomeDelegate(string someString);
void MyMethod(SomeDelegate someDelegate){ }
//正确
MyMethod(name=>MessageBox.Show(name));
//错误
MyMethod((name)=>{Trace.WriteLine(name);MessageBox.Show(name);});注释
编写有用的注释,不要在注释中重复写代码语义。应该编写的是解释方法和原理的说明性注释。
函数
不要在一个函数中包含太多内容,函数的功能要简单,短小,使人更容易理解,也有利于防错。
第二条 尽量在代码中不包含被警告的内容
高度重视警告:使用编译器的最高警告级别。构建尽量做到干净利落(没有警告)。理解所有的警告。通过修改代码而不是降低警告级别来排除警告。
即使程序一开始似乎能够正确运行,也还是要这样做。即使你能够肯定警告是良心的,仍然要这样做。因为良性警告的背后可能隐藏着未来指向真正危险的警告。
项目设置和项目结构
1. 总是以4级警告建立项目
2. 在发布版中将警告当作错误(注意这不是VS.NET的缺省设置)
3. 永远不要抑制特定的编译警告
4. 总是在应用程序的配置文件中显式地说明支持的运行时版本
5. 避免显式的自定义版本改向和绑定到CLR程序集
6. 不要在AssemblyInfo.cs中放任何逻辑。除了在AssemblyInfo.cs中,不要在任何文件中放程序集属性(应包括公司名称、描述、版权等)7. 所有程序集应该使用相对路径引用 8. 不允许在程序集中循环引用
9. 努力对同一逻辑应用程序中(通常是一个解决方案)的所有程序集和客户端使用统一的版本号
10.将Visual Studio.NET应用配置文件命名为App.config,并将其包括在项目中 11. 将Visual Studio.NET缺省的项目结构改为标准的布局,对项目文件夹和文件应用统一的结构 12. 一个发布版本应该包含Debug标记
第三方头文件
无法修改的库头文件可能包含引起警告的构造。如果这样,可以用自己的包含原头文件的版本将此文件包装起来,并有选择的为该作用域关闭警告,然后在整个项目的其他地方包含此包装文件。
代码中尽量不包含未使用的函数,变量
经确认确实不需要使用的函数,变量(不包括为未来使用而设的占位符),可以进行删除处理。
不要遗漏return语句
PS:例外情况
有时候编译器可能会发出一些确实无意义的警告。这些警告要经过团队确认后尽量在局部进行屏蔽,但要做出明确的注释,说明为什么必须禁用。
第三条 使用自动构建系统 第四条 使用版本控制系统
应确保每次提交的代码都可以构建成功。
第五条 定期进行代码审查
互相阅读彼此的代码不但可以尽快提高自己的编码水平,也可以相互借鉴更好的方法。
第六条 一个实体应该只有一个紧凑的职责
一次只解决一个问题:只给一个实体(变量、类、函数、名称空间、模块和库)赋予一个定义良好的职责。应该只选择目的单一的函数,小而且目的单一的类,和边界清晰的紧凑模块。
应该用较小的低层抽象构建更高层次的抽象,要避免将几个低层抽象集合成一个较大的低层次抽象聚合体。用几个简单的行为来实现一个复杂的行为,比反其道而行之更加容易。
第七条 正确,简单和清晰第一
软件简单为美:正确优于速度,简单优于复杂,清晰优于机巧,安全优于不安全。
要避免使用程序设计语言中的冷僻特性。应该使用最简单的有效技术。不要使用不必要的操作符重载
构造函数的参数,应该使用命名变量,而不要使用临时变量
这能够避免可能的声明二义性,还经常能使代码的意图更加清晰,从而更容易维护,而且也更安全。
第八条 编程中应该知道何时和如何考虑可伸缩性
当数据爆炸性增长时:不要进行不成熟的优化,如果能够证明优化必要而且非常重要,则应该集中精力改善算法的复杂性,而不是进行小型的优化,比如节省一个多余的加法运算。
为了避免未来可能遭遇到的数据处理容量上的瓶颈问题,应该预先做这些事情:
使用灵活的、动态分配的数据,不要使用固定大小的数组
那种“比现在所需要的最大数组还要大”的数组,在正确性和安全性方面都存在严重问题。只有在编译时大小固定不变的数组才是可接受的。
了解算法的实际复杂性
要留心那些不易发觉的陷阱,比如看似线性的算法实际上要调用其他线性操作,结果算法实际上是二次的。
优先使用线性算法或者尽可能快的算法 尽可能避免劣于线性复杂性的算法
如果面对的是一个O(NlogN)或者O(N²)算法,就必须花费精力寻找替代方案,只有代码才不至于在数据量显著增长的情况下陷入深度激增的性能深潭。例如:建议使用范围成员函数(通常是线性的)而不是反复调用单元素替代函数,后者会很容易在一个线性的操作要调用另一个线性操作时变成二次复杂性。永远不要使用指数复杂性的算法,除非真的别无选择
在决定接受指数算法之前,必须尽力寻找替代方案,因为对于指数算法来说,即使是数据量的有限增加,也会使算法的性能急剧下降。
总而言之,要尽可能优先使用线性(或者更好的)算法,尽可能合理的避免使用比线性算法差的多项式算法。竭尽全力避免使用指数算法。
第九条 不要进行不成熟的优化
我们将不成熟的优化定义为这样的行为:以性能为名,使设计或代码更加复杂,从而导致可读性更差,却没有经过验证的性能需求(比如实际的度量数据与目标的比较结果)作为正当理由,因此本质上对程序没有真正的好处。
因此,默认时,不要把注意力集中在如何使代码更快上;首先关注的应该是使代码尽可能的清晰和易读。
第十条 不要进行不必要的劣化
所谓不成熟的劣化一词,指的就是编写如下这些没有必要的、可能比较低效的程序:
在可以用通过引用传递的时候,却定义了通过值传递的参数 在使用前缀++操作符很合适的场合,却使用后缀版本 在构造函数中使用赋值操作而不是初始化列表
第十一条 尽量减少全局和共享数据
共享会导致冲突:避免共享数据,尤其是全局数据。共享数据会增加耦合度,从而降低可维护性,通常还会降低性能。
名字空间作用域中的对象、静态成员对象或者跨线程或跨进程共享的对象会减少多线程和多处理器环境中的并行性,往往是产生性能和可伸缩性瓶颈的源头。建议用通信方式(比如消息队列)代替数据共享。尽量降低类之间的耦合,尽量减少交互
第十二条 隐藏信息
不要泄密:不要公开提供抽象的实体的内部信息。而应该公开抽象(至少是get/set抽象),而不是数据。
数据只是抽象、概念性状态的一种可能的具体化而已。如果将注意力集中在概念而不是其表示形式上,就能够提供富于提示性的接口,并按需要对实现进行调整。比如缓存还是实时地计算,又比如使用不同的表示方式,针对某种使用模式进行优化。
绝对不要将类的数据成员设为public,仅对最需要的类型标记为public,其他的标记为internal。它同样适用于更大的实体比如程序库。模块和程序库同样应该提供定义抽象和其中信息流的接口,从而使与调用代码的通信比采用数据共享方式更安全,耦合度更低。
第十三条 尽量在编译和连接时检查错误,而不要等到运行时
运行时检查取决于控制流和数据的具体情况,这意味着很难知道检查是否彻底。相比而言,编译时检查与控制流和数据无关,一般情况下能够获得更高的可信度。
第十四条 尽量合理的使用const常量
不变的值更易于理解、跟踪和分析,所以应该尽可能地使用常量代替变量,定义值的时候,应该把常量作为默认的选项:常量很安全,在编译时会对其进行检查。尽量不要强制转换常量的类型。
例如:
const int x = 0;public const double productWeight = 11.7;private const string productName = “Visual C#”;
第十五条 避免使用语义不清的参数
要避免在代码中使用诸如42和3.14159这样的文字常量。它们本身没有提供任何说明,并且因为增加了检测的重复而使维护更加复杂。可以用符号名称和表达式替换它们,比如width*aspectRatio
名称能够增加信息,并提供单一的维护点,而程序中到处重复的原始数据是无名的,维护起来很麻烦。常量应该是枚举或者const值,有合适的作用域和名称。
重要的特定于领域的常量应该放在名字空间一级
第十六条 尽可能局部的使用变量 第十七条 避免函数过长,避免嵌套过深
过长的函数和嵌套过深的代码块的出现,经常是因为没能赋予一个函数以一个紧凑的职责所致,这两种情况通常都能够通过更好的重构予以解决。每个函数都应该是顾其名而能思其义,易于理解的工作单元,要避免将多个小概念单元合并到一个长的函数体中的做法。
一些建议:
尽量紧凑:对一个函数只赋予一种职责
不要自我重复:优先使用命名函数,而不要让相似的代码片断反复出现 优先使用&&:在可以使用&&条件判断的地方要避免使用连续嵌套的if 不要过分使用try 优先使用标准算法
不要根据类型标签(type tag)进行分支(switch)第十八条 尽量减少定义性依赖,避免循环依赖
循环依赖是指两个模块直接或者间接地相互依赖。所谓模块就是一个紧凑的发布单元,而互相依赖的多个模块并不是真正的独立模块,而是紧紧胶着在一起的一个更大的模块,因此,循环依赖有碍于模块性,是大型项目的祸根。请避免循环依赖。
第十九条 不要引用多余的资源文件 第二十条 尽量不要重载默认的操作符,至少应保证操作符的自然语义不被破坏 第二十一条 优先使用++和—的标准形式。优先调用前缀形式。第二十二条 用小类代替巨类
小类更易于编写,更易于保证正确、测试和使用。小类更有可能适用于各种不同情况。应该用这种小类体现简单概念,不要用大杂烩式的类。
第二十三条 要避免使用隐式转换
在做类型提供隐式转换之前,请三思而行,应该依赖的是显式转换。
隐式转换有两个主要的问题:
1.它们会在最意料不到的地方抛出异常
2.它们并不总是能与语言的其他元素有效地配合 第二十四条 将数据成员设为私有的,无行为的聚集
要避免将公用数据和非公用数据混合在一起,因为这几乎总是设计混乱的标志。信息隐藏是优秀软件工程的关键,应该将所有数据成员都设为私有的,这是类用来保持其不变式的最佳方式。
第二十五条 不要允许异常跨越模块边界传播
最低限度,应用程序必须在以下位置有捕获所有异常的catch(…)兜底语句,其中大多数都直接适用于模块:
1.在main函数的附近:捕获并用日志记录任何将使程序不正常终止而其他地方又没有捕获的异常。
2.在从无法控制的代码中执行回调附近3.在现场边界的附近4.在模块接口边界的附近
5.在IO,数据库连接等高危操作附近
第二十六条 如有可能,尽量用算法调用代替手工编写的循环
对非常简单的循环而言,手工编写的循环有可能是最简单也是最有效的解决方案。但是编写算法调用代替手工编写的循环,可以使表达力更强、维护性更好、更不易出错,而且同样高效。
第二十七条 编码惯例
1. 避免在一个文件中放多个类
2. 一个文件应该只对一个命名空间提供类型,避免在同一文件中有多个命名空间 3. 避免一个文件的长度超过500行(除了机器生成的代码)4. 避免方法定义超过25行
5. 避免超过5个参数的方法,使用结构传递多个参数 6. 每行应该不超过80个字符,或者10个单词 7. 不要手工编辑任何机器生成的代码
A.如果修改机器生成的代码,修改代码格式和风格以符合本编码标准 B.尽可能使用partial类以分解出需要维护的部分 8. 避免对显而易见的内容作注释
A.代码应该是自解释的,由可读性强的变量和方法组成的好的代码应该不需要注释 B.参加第一条中的注释部分
9. 仅对操作的前提、内在的算法等写文档 10. 避免方法级的文档
A.对API文档采用大量的外部文档
B.方法级注释仅作为对其他开发人员的提示 11. 决不要硬编码数值,声明一个常量是最好的选择 12. 仅对本轮就是常量的值使用const修饰符,例如一周的天数 13. 避免对只读变量使用const修饰符。在此情况下,采用readonly修饰符
public class MyClass { public const int DaysInWeek = 7;public readonly int Number;public MyClass(int someValue){ Number = someValue;} }
14.对任何假设采用assert。平均来讲,每五行代码中就有一行是断言
using System.Diagnostics;object GetObject(){} object someObject = GetObject();Debug.Assert(someObject!= null);
15. 16. 17. 每行代码都应该经过白盒测试 仅捕获已经显式处理了的异常
在抛出异常的catch语句中,总是抛出最初异常以保持最初错误的堆栈位置
catch(Exception exception){ MessageBox.Show(exception.Message);throw;}
18. 定义自定义的异常时
A.从ApplicationException继承 B.提供自定义的序列化 19. 避免采用friend程序集,因为这样增加了程序集间的耦合度 20. 避免使用依赖于从特定位置运行的程序集的代码。21. 尽量减少应用程序集(客户端EXE程序集)的代码,采用类库而不要包含业务逻辑层代码。22. 避免对枚举提供明确的值
//正确
public enum Color { Red,Green,Blue } //错误
public enum Color { Red=1,Green=2,Blue=3 }
23. 避免对枚举指定类型
//错误
public enum Color : long { Red, Green, Blue }
24. 25. 26. If语句总是使用括号,即使它只包含一句语句 避免使用?:条件运算符 避免使用(#if…#endif),应使用conditional方法代替
[Conditianal(“MySpecialCondition”] public void MyMethod(){}
27. 避免在布尔条件语句中调用函数,赋值到局部变量并检查它们的值。
bool IsEverythingOK(){} //错误
if(IsEverythingOK()){} //正确
bool ok=IsEverythingOK();if(ok){}
28.29. 总是使用从0开始的数组
总是使用一个for循环显式地初始化一个引用类型数组
public class MyClass {} const int ArraySize=100;MyClass[] array=new MyClass{ArraySize];for(int index=0;index 30. 31. 不用提供public或protected成员变量,而是使用属性 应尽量使用get/set的自动返回属性 //错误 class MyClass { int m_Number; public int Number { get { return m_Number;} set { m_Number=value;} } } //正确 class MyClass { public int Number { get;set;} } 32. 33. 34. 35. 避免使用new,应使用override替代 在一个密封的类里总是把public和protected方法标记为virtual 永远不要使用不安全的代码 合理使用as操作符进行映射 Dog dog = new GermanShepherd();GermanSheperd shepherd = dog as GermanShepherd;if(shepherd!= null){} 36. 37. { 在使用一个委托前总是要先检查它是否为空(null) 不要提供公有成员变量,使用存取器(accessors)进行替代 public class MyPublisher MyDelegate m_SomeEvent;public event MyDelegate SomeEvent { add { m_SomeEvent += value;} remove { m_SomeEvent-= value;} } } 38. 避免定义事件处理委托,使用EventHandler SomeType obj1;IMyInterface obj2; obj2=obj1 as IMyInterface;if(obj2!= null){ obj2.Method1();} else { //处理可能出现的错误 } 44. 不要将可能改变的,或用于数据库连接的,或者交付给最终客户使用的任何字符串进行硬编码,要使用资源文件定义他们 45. 使用String.Empty代替”” //错误 string name = “";//正确 string name = String.Empty; 46. 47. 48. 定义长字符串的时候,应该使用StringBuilder,而不是string 永远不要使用goto语句,除非迫不得已 在switch代码块中总要包含一个default项,并且为其设置断言 int number = SomeMethod();switch(number){ case 1: Trace.WriteLine(”Case 1:“);break;case 2: Trace.WriteLine(”Case 2:“);break;default: Debug.Assert(false);break;} 49.不要使用this引用,除非某些特殊情况,比如从一个构造器中运行另外一个 //一个正确使用this的例子 public class MyClass { public MyClass(string message){} public MyClass():this(”Hello"){} } 50. 不要使用base关键词。除非你想要解决一个子类成员和基类间的名称冲突,或者运行一个基类构造器 //一个正确使用base的例子 public class Dog { public Dog(string name){} virtual public void Bark(int howLong){} } public class GermanShepherd:Dog { public GermanShepherd(string name):base(name){} public override void Bark(int howLong){ base.Bark(howLong);} } 51. 不要使用GC.AddMemortyPressure(),不要依赖HandleCollector。合理的使用Dispose()和Finalize()方法 52. 一般情况下不要使用check来检查代码(防止性能损失),但是在可能的溢出区则使用check来保持代码的安全性。安全性的优先级永远高于性能。 int CalcPower(int number,int power){ int result=1;for(int count=1;count<=power;count++){ checked { result*=number;} } return result;} 53. 在代码中要避免直接使用object数据类型(System.Object),可以使用约束或者as进行替代。 class SomeClass {} //错误 class MyClass class MyClass 54.{} 一般而言,不要在通用接口中定义约束。接口级别的约束经常会被强类型所覆盖 public class Customer //错误 public interface IList public interface ICustomerList:IList 1. 总是对应用程序私有的组件,集合等使用强名,这样可以保证安全性 2. 在应用程序配置文件中使用加密算法,进行安全保护 3. 对不受控制的引用方法,要做适当的安全处理,如加入断言控制 4. 不要使用SuppressUnmanagedCodeSecurity属性 5. 不要使用/unsafe来切换TlbImp.exe的默认行为。 6. 在服务器端要使用自定义的安全规则来扩展Microsoft的默认配置,以保证更高级别的安全性 7. 为防止引诱性攻击,应修改组件级别的运行权限,限制其可能的不安全行为 8. 在编写Windows程序时,在每个Main()中都要使用相应的安全规则 常山县2013年暑期教师培训班 学员须知及要求 为了确保我县2013年暑期培训顺利进行及参训学员学有所获,现对各位学员提出以下相关要求和注意事项等。 相关要求和注意事项 1.服从组班老师管理。若有急事,应及时与组班教师、县教师进修学校管理人员联系。 2.严格遵守作息时间,自觉遵守培训纪律。不迟到,不早退,更不得缺席,培训期间无特殊情况不得请假。每天分上午和下午各签到一次,严禁代签。 3.保持良好的精神状态,课堂上不抽烟,不打瞌睡,不随便出入教室。 4.手机设为振动状态,保持室内安静。严禁在培训会场接打手机或做与培训无关的事情。 5.认真听课,记好笔记,积极互动。服从主讲教师统一指挥,服从县教师进修学校统一管理。不得酒后上课。 6.文明参训,礼貌待人。进入校园不得高声喧哗,不得损坏花草,不得乱扔果皮、纸屑等垃圾,不得随地吐痰,损坏公物应照价赔偿。 7.注意参训期间的一切安全。 8.注意教师形象,遵守社会公德。 9.所有参训学员一律不得带小孩。 10.按照要求完成培训作业。 11.如有特殊情况不能参加培训的,一定要在培训班结束前一天进平台请假或换人。请假换人的方法:个人进平台申请请假——学校进平台审核——培训机构进平台审核同意(初中英语、语文、骨干班主任的培训机构是浙师大,骨干教师的培训机构是县教师进修学校)——学校进平台换人——培训机构进平台审核——换人成功。 12.培训结束后,教师要在10天之内以个人账户进平台作“学评教”的评价。希望各位遵守纪律,服从管理,克服困难,文明参训,全心投入,维护自身形象。本次参加暑期集训活动情况将在培训结束后进行全县通报。 记分、考核 若能按上述要求完成培训任务,且考核合格,按每天8学时记入教师继续教育学分。否则,不仅不记学分,还将在全县通报批评;对考核为优秀的学员,在全县通报表扬。 常山县教师进修学校 2013年7月2日 培训班管理规定 1.所有学员必须严格遵守作息制度,不得无故迟到或早退,认真听课并做好相应的笔记; 2.培训期间由各县带队教师负责每日的上、下午考勤,任何人无特殊情况不得请假; 3.上课时不得大声喧哗或讲小话,有问题需举手示意请求老师解答,不允许随意走动; 4.在听课过程中要把通讯工具关掉,认真做笔记; 5.每个学员应当注意教师应有的礼仪,互敬互助,杜绝一切可能发生的恶性事故的发生; 6.遵守培训班的相关规章制度,服从管理人员的安排; 7.按照培训班的考核要求,成绩考核合格,取得相应的合格证书。 培训班考勤制度 1.培训学员的考勤由各县带队教师负责; 2.培训学员自报到之时开始,直至培训结束,均属考勤范围之内; 3.有事不能参加培训时,需请假,缺课超过总课时的20%,将取消本次培训资格,并上报市教育局备案; 4.每次上课、下课各点名一次,点名时间不固定,缺席又未事前请假者,视为缺课两课时;超过十五分钟进入培训教室视为迟到,提前15分钟离开视为早退,迟到早退五次视为缺课1课时;第四篇:常山县2013年暑期教师培训班学员须知及要求
第五篇:培训班管理规定及学员考勤制度