国产精品电影_久久视频免费_欧美日韩国产激情_成年人视频免费在线播放_日本久久亚洲电影_久久都是精品_66av99_九色精品美女在线_蜜臀a∨国产成人精品_冲田杏梨av在线_欧美精品在线一区二区三区_麻豆mv在线看

程序員:請不要輕視我們的過去

開發 前端
今天一個偶然的機會打開了自己以前寫的舊程序,時間大概是上世紀90年代后期(96-99年左右),代碼是用C語言寫的,運行在Windows 3.1或Windows 95環境下。看到它們,有一種看上學時照片的感覺,感覺是那么的青澀。拿出一段曬曬

這是當年開發的一個煤炭安全監控軟件里增加新測點的函數。如果在當年看這段代碼,感覺這應該是一段挺不錯的代碼,比如:注釋很多,幾乎每行都有注釋;匈牙利命名法,使用像lp、w這樣的前綴;結構、數組、宏定義,看起來都是有板有眼。

  1. //-----------------------------------------------------------------------------  
  2. // 函數:NewPoint  
  3. // 功能:分配一個測點定義緩沖區。  
  4. // 入口參數:  
  5. //    lpPNum    測點號指針。  
  6. // 出口參數:  
  7. //    如成功,返回在測點定義表中的偏移;如失敗,返回0xffff。  
  8. //-----------------------------------------------------------------------------  
  9. WORD NewPoint(LPCSTR lpPNum)  
  10. {  
  11.     WORD i;  
  12.     LPTPOINT lpTmpPt;  
  13.  
  14.     // 在測點定義表中找空的緩沖區  
  15.     for (i=0;i<PtTab.wCount;i++) if (PtTab.lpPt[i].tpDel) break;  
  16.     if (i==PtTab.wCount) {  
  17.         // 如未找到,則判斷測點數是否已到***值,如已到,則返回失敗  
  18.         if (PtTab.wCount+1>MAXPOINT) return(0xffff);  
  19.         // 如未找到***值,則測點總數加1。即在測點定義表的***追加一個緩沖區  
  20.         PtTab.wCount++;  
  21.     }  
  22.     // 初始化緩沖區  
  23.     lpTmpPt=&PtTab.lpPt[i];  
  24.     // 將刪除標志(即緩沖區空標志)置1,作為后面具體定義時區分增加與修改的標志,  
  25.     // 如是修改,則此標志必為0  
  26.     lpTmpPt->tpDel=1;  
  27.     // 拷貝測點號到緩沖區  
  28.     lstrcpy(lpTmpPt->tpNum,lpPNum);  
  29.     // 將前一此操作測點的定義復制到緩沖區  
  30.     lstrcpy(lpTmpPt->tpName,HistPt.tpName);  
  31.     lpTmpPt->tpType=HistPt.tpType;  
  32.     lpTmpPt->tpOp=HistPt.tpOp;  
  33.     // 賦缺省的狀態與數值  
  34.     lpTmpPt->tpState=PS_SUSP;  
  35.     lpTmpPt->tpRValue=0;  
  36.     lpTmpPt->tpDValue=0;  
  37.     // 置缺省的狀態變化時間為當前時間  
  38.     _fmemcpy(&lpTmpPt->tpTime,&Time,sizeof(SYSTIME));  
  39.     // 將偏移值返回  
  40.     return(i);  
  41. }  
  42.   

時間已經過去十幾年了,計算機系統、開發語言、設計思想都有了很大轉變,現在要寫一段同樣功能的代碼,可能完全不同了。

***的變化應該是面向對象技術的應用,測點和測點表都會從struct變為class,測點數組可能會用std::vector或std::list代替,并且用new來動態分配,宏定義也會換成常量或枚舉。而上面這個創建新測點的函數,也會被封裝到測點表這個類中。面向對象技術改變了我們思考和實踐的方式,而且這個改變作用是巨大的。

再有就是一些設計思想的轉變,比如對注釋的看法。以前,注釋多可能意味著可讀性強。但《重構》一書中說:“你看到一段代碼有著長長的注釋,然后發現,這些注釋之所以存在乃是因為代碼很糟糕。”再看看上面這段代碼,前半段,其實是查找一個空的測點位置,完全可以用Extract Method(提煉函數)重構方法將其移入另外一個函數,并給其一個準確的命名,而不需要注釋。后半段,“代碼已經清楚說明了一切,注釋已經變得多余了。”

匈牙利命名法,已成為爭議***的命名法,其類型冗余常常大于它所帶來的收益。它來自微軟的一名匈牙利程序員,但現在微軟的.Net和它的編程語言中,微軟更換了這一法則,在C#中以駱駝命名法和帕斯卡命名法居多。

計算機系統的提升也改變著程序。早年16位OS上編程需要區分遠指針和近指針,但現在32位環境下,C++指針變量前綴一般都是p,很少見到lp。

技術在進步,編程思想在轉變,人的思維也在不斷更新。也許再過十幾年,現在聽都沒有聽說過的新技術會大行其道,你回頭再看看現在的代碼,可能也會有像我今天的感覺。但無論怎樣,請不要輕視我們的過去,因為沒有過去的積累,就沒有今天的進步。
 

原文鏈接:http://www.cnblogs.com/wanghui9072229/archive/2011/04/25/2028793.html

【編輯推薦】

  1. 想成為更好的程序員嗎?學習Prolog語言吧
  2. 15件事造就有理想的程序員
  3. 程序員發現蘋果史上最嚴重的隱私侵犯行為
  4. 老程序員10年技術生涯的思考 從C++到Java
  5. 程序員如何在"小公司成長"和"大公司學習"
責任編輯:陳貽新 來源: wanghui的博客
相關推薦

2011-12-20 09:01:25

.NET

2014-12-05 10:06:44

程序員

2020-12-21 06:15:15

程序員互聯網年齡

2011-06-02 11:26:24

程序員

2015-01-04 14:18:21

程序員

2014-08-15 11:07:09

程序員

2015-04-01 13:35:33

程序員

2014-06-24 15:38:25

2020-12-15 08:05:02

redis單線程多線程

2011-11-02 09:57:28

程序員

2012-09-10 09:16:54

2015-02-12 09:48:09

程序員

2023-07-17 10:28:00

C/C++編程接口

2015-02-12 09:29:48

2019-12-18 14:14:40

程序員存儲程序

2019-11-18 10:16:37

工程師開發網絡

2019-11-18 10:05:43

程序員技能開發者

2015-12-07 11:44:31

程序員厭倦工作

2009-02-17 10:12:10

ASP面試技術

2015-12-09 09:17:11

情緒厭倦程序員
點贊
收藏

51CTO技術棧公眾號

99热国产精品| 成人短视频在线观看| 午夜精品影视国产一区在线麻豆| 欧美亚洲精品一区| 男女视频一区二区三区| 伊人影院久久| 57pao精品| 69堂精品视频在线播放| 欧美人妖巨大在线| 性史性dvd影片农村毛片| 成人精品国产一区二区4080| 久久久av水蜜桃| 99精品综合| 欧美第一淫aaasss性| 亚洲国产欧美日本视频| 欧美另类高清zo欧美| 最新二区三区av| 国产欧美日韩精品在线| 影音先锋男人的网站| 中文高清一区| 成人性生交xxxxx网站| 久久亚洲黄色| 中文字幕免费精品一区高清| 日本电影在线观看| 欧美性感一类影片在线播放| 色老板在线观看| 国产精品嫩草影院com| 欧美性潮喷xxxxx免费视频看| 亚洲免费高清| 亚洲自拍欧美色图| 成人系列视频| 国产精品久久久久久久久久东京| 一区二区亚洲视频| 久久久精品国产一区二区| 天堂8中文在线最新版在线| 欧美精品一卡二卡| 91sp网站在线观看入口| 一本色道综合亚洲| 亚洲女人天堂| 无码av免费一区二区三区试看| 爱爱永久免费视频| 中文字幕在线不卡视频| 中文字幕国内自拍| 国产精品理伦片| **三级三级97片毛片| 久久九九国产精品| 中文字幕视频在线免费观看| 欧美韩国日本综合| 一插菊花综合| 亚洲一区二区av电影| 在线成年人视频| 色猫猫国产区一区二在线视频| 日本亚洲欧美| 在线播放日韩导航| 蜜乳av一区| 亚洲视频第一页| 婷婷久久综合九色综合99蜜桃| 久久精品在线视频| 白嫩亚洲一区二区三区| 欧美成人精品在线视频| 久久97精品| 国产精品日日做人人爱| 亚洲精彩视频| 色涩成人影视在线播放| 国产伦理精品不卡| 男人靠女人免费视频网站| 国产精品天干天干在观线| 国产视频一二| 色一区在线观看| 韩国日本一区| 久久九九国产精品怡红院 | 精品国产一区二区三区久久影院| 第一中文字幕在线| 亚洲网站在线观看| 极品一区美女高清| 成人动漫在线观看视频| 免费一区二区视频| 欧美国产亚洲一区| 精品久久久一区| 免费av不卡在线观看| 色综合久久久久久中文网| 色999国产精品| 伊人情人网综合| 亚洲欧洲韩国日本视频| 欧美三级理伦电影| 久久福利视频导航| 欧美日韩精品| 成人免费在线小视频| 欧美日韩中文在线| 欧美电影免费观看网站| 国产精品你懂得| 精品一区二区三区久久久| 先锋影音成人资源| 欧美大片一区二区三区| 国产精品白浆| 日韩欧美一区二区视频在线播放| 久久久久久久久久久99999| 日韩av视屏| 日韩资源在线观看| 国产综合网站| 天天爽天天爽夜夜爽| 欧美色成人综合| 天堂av一区| 日本视频一区二区不卡| 中文字幕成人网| 97人人爽人人澡人人精品| 国产欧美久久一区二区| 国产精品亚洲午夜一区二区三区| 午夜成人影视| 欧美另类高清videos| 视频一区国产视频| 波多野结衣在线| xxx一区二区| 视频一区视频二区中文| 福利h视频在线| 精品国产欧美一区二区三区成人 | 免费成人网www| 亚洲国产精品女人| 91黄色小视频| 国产aⅴ精品一区二区三区久久| 17c丨国产丨精品视频| 91精品国产综合久久蜜臀| 欧美日韩精品在线一区| 99久久久无码国产精品6| 欧美xxxxxxxx| 在线观看日韩av电影| 如如影视在线观看经典| 欧美精品18videos性欧美| 国产一区二区三区四| 免费在线毛片网站| 91超碰rencao97精品| 一区二区三区在线视频免费 | 九色在线观看| 国产va免费精品高清在线| 99国产精品久久久久| 国产在线美女| 日韩欧美在线一区二区| 这里只有精品免费| 99视频一区| av黄色在线观看| 99国产在线| 欧美午夜不卡视频| 狠狠色狠狠色综合日日tαg| 最新亚洲伊人网| 国产主播欧美精品| 亚洲精品高清在线观看| 视频在线亚洲| 亚洲九九精品| 91久久影院| 日本国产精品视频| 国产欧美一区视频| 啪啪av大全导航福利综合导航| 亚洲毛片aa| 日韩欧美在线不卡| 欧美一区=区| 国产在线高清视频| 痴汉一区二区三区| 欧美综合一区二区| 欧美日韩调教| jizzjizz在线观看| 国产精品久久波多野结衣| 日韩欧美大尺度| 欧美久久久久| 麻豆系列在线观看| 日韩欧美亚洲在线| 亚洲韩国日本中文字幕| 老司机午夜精品| 久久久久久久| 国产女大学生av| 欧美激情网友自拍| 国产精品美日韩| av影片在线一区| 偷拍自拍在线| 亚洲一区免费网站| 欧美日韩国产免费一区二区| 日韩精品国产精品| 国产精品99| 免费特级黄毛片| ts人妖另类在线| 亚洲精品免费在线看| 国产福利一区视频| 成年人精品视频| 久久日韩精品一区二区五区| 成人短视频软件网站大全app| 日韩视频第二页| 欧美综合在线观看| 福利二区91精品bt7086| 成人黄色免费在线观看| 不卡视频一二三| 久久大胆人体视频| 在线观看免费视频一区二区三区| 999热视频在线观看| 欧美mv和日韩mv国产网站| 国产一区二区三区av电影| 国产区一区二| 亚洲男人天堂| 18视频在线观看娇喘| 国内精品久久久久久影视8| 偷拍与自拍一区| 精品一区二区三区在线播放|