给公司员工上的培训1——微观规范
生活随笔
收集整理的這篇文章主要介紹了
给公司员工上的培训1——微观规范
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
那天給公司的新員工進(jìn)行了一次編程規(guī)范培訓(xùn),我把這些規(guī)范分為:
1)微觀上的規(guī)范。
2)宏觀上的規(guī)范。
先說下微觀上的規(guī)范。
第一,契約式編程。這是流程與流程,功能與功能之間的銜接點的規(guī)范。就像流水線兩邊的工人。如果下一流程的工人,不檢查上一流程工人生產(chǎn)的零件就開始使用,那么就算是上級工人的零件有問題,他也要承擔(dān)責(zé)任。如果他在使用前就檢查出問題,那么上一流程的工人就要承擔(dān)責(zé)任。所以,上一級工人在向下傳遞零件時,需要先檢查一下。同理,如果程序員A的函數(shù),在傳的參數(shù)的時候,不做檢查,傳出了不正確的值,那么程序員A需要負(fù)責(zé),但如果下一級程序員B不檢查就使用,出現(xiàn)問題,是程序員B的責(zé)任。要求:函數(shù)在傳入和傳出參數(shù)時,都要做判斷,把錯誤消滅在最小的范圍內(nèi)。
第二,斷言。我們在發(fā)布程序代碼之前,都要進(jìn)行調(diào)試,調(diào)試的時候,可以進(jìn)行斷言。
例子(C#):System.Diagnostics.Debug.Assert ( KeyWord.Length >= 3 );
上面的例子中,如果出現(xiàn)KeyWord的長度小于3,就會彈出錯誤,并且問你進(jìn)一步的操作。但是這段代碼的Release中是不會執(zhí)行的。這就有好處了,寫再多這種代碼都不會影響Release版本。
當(dāng)然,我們還要加上一句:
if?(?KeyWord.Length?<?3?)
{
????return?null;
} 這是給Release版本用的。
以上兩個是比較重要的,還有其它的規(guī)范。文檔在卡上,想起來再寫文章。
宏觀上的規(guī)范,有三層,MVC,面向?qū)ο蟮膸讉€基本原則。以后的文章會講到。
最后還有測試,包括單元測試。
有空再寫一篇面向?qū)ο蠓治黾夹g(shù)。
1)微觀上的規(guī)范。
2)宏觀上的規(guī)范。
先說下微觀上的規(guī)范。
第一,契約式編程。這是流程與流程,功能與功能之間的銜接點的規(guī)范。就像流水線兩邊的工人。如果下一流程的工人,不檢查上一流程工人生產(chǎn)的零件就開始使用,那么就算是上級工人的零件有問題,他也要承擔(dān)責(zé)任。如果他在使用前就檢查出問題,那么上一流程的工人就要承擔(dān)責(zé)任。所以,上一級工人在向下傳遞零件時,需要先檢查一下。同理,如果程序員A的函數(shù),在傳的參數(shù)的時候,不做檢查,傳出了不正確的值,那么程序員A需要負(fù)責(zé),但如果下一級程序員B不檢查就使用,出現(xiàn)問題,是程序員B的責(zé)任。要求:函數(shù)在傳入和傳出參數(shù)時,都要做判斷,把錯誤消滅在最小的范圍內(nèi)。
第二,斷言。我們在發(fā)布程序代碼之前,都要進(jìn)行調(diào)試,調(diào)試的時候,可以進(jìn)行斷言。
例子(C#):System.Diagnostics.Debug.Assert ( KeyWord.Length >= 3 );
上面的例子中,如果出現(xiàn)KeyWord的長度小于3,就會彈出錯誤,并且問你進(jìn)一步的操作。但是這段代碼的Release中是不會執(zhí)行的。這就有好處了,寫再多這種代碼都不會影響Release版本。
當(dāng)然,我們還要加上一句:
if?(?KeyWord.Length?<?3?)
{
????return?null;
} 這是給Release版本用的。
以上兩個是比較重要的,還有其它的規(guī)范。文檔在卡上,想起來再寫文章。
宏觀上的規(guī)范,有三層,MVC,面向?qū)ο蟮膸讉€基本原則。以后的文章會講到。
最后還有測試,包括單元測試。
有空再寫一篇面向?qū)ο蠓治黾夹g(shù)。
轉(zhuǎn)載于:https://www.cnblogs.com/fyan888/archive/2007/07/03/train.html
總結(jié)
以上是生活随笔為你收集整理的给公司员工上的培训1——微观规范的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 关于磨洋工
- 下一篇: Mangos自己制作装备