第一篇: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(N2)算法,就必須花費精力尋找替代方案,只有代碼才不至于在數據量顯著增長的情況下陷入深度激增的性能深潭。例如:建議使用范圍成員函數(通常是線性的)而不是反復調用單元素替代函數,后者會很容易在一個線性的操作要調用另一個線性操作時變成二次復雜性。永遠不要使用指數復雜性的算法,除非真的別無選擇
在決定接受指數算法之前,必須盡力尋找替代方案,因為對于指數算法來說,即使是數據量的有限增加,也會使算法的性能急劇下降。
總而言之,要盡可能優先使用線性(或者更好的)算法,盡可能合理的避免使用比線性算法差的多項式算法。竭盡全力避免使用指數算法。
第九條 不要進行不成熟的優化
我們將不成熟的優化定義為這樣的行為:以性能為名,使設計或代碼更加復雜,從而導致可讀性更差,卻沒有經過驗證的性能需求(比如實際的度量數據與目標的比較結果)作為正當理由,因此本質上對程序沒有真正的好處。
因此,默認時,不要把注意力集中在如何使代碼更快上;首先關注的應該是使代碼盡可能的清晰和易讀。
第十條 不要進行不必要的劣化
所謂不成熟的劣化一詞,指的就是編寫如下這些沒有必要的、可能比較低效的程序:
在可以用通過引用傳遞的時候,卻定義了通過值傳遞的參數 在使用前綴++操作符很合適的場合,卻使用后綴版本 在構造函數中使用賦值操作而不是初始化列表
第十一條 盡量減少全局和共享數據
共享會導致沖突:避免共享數據,尤其是全局數據。共享數據會增加耦合度,從而降低可維護性,通常還會降低性能。
名字空間作用域中的對象、靜態成員對象或者跨線程或跨進程共享的對象會減少多線程和多處理器環境中的并行性,往往是產生性能和可伸縮性瓶頸的源頭。建議用通信方式(比如消息隊列)代替數據共享。盡量降低類之間的耦合,盡量減少交互
第十二條 隱藏信息
不要泄密:不要公開提供抽象的實體的內部信息。而應該公開抽象(至少是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年暑期教師培訓班學員須知及要求
第五篇:培訓班管理規定及學員考勤制度