国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院

首頁(yè) > 編程 > C++ > 正文

高質(zhì)量C++/C編程指南(前言)

2024-09-07 17:00:54
字體:
來(lái)源:轉(zhuǎn)載
供稿:網(wǎng)友

作者:林銳博士

完成時(shí)間:2001年7月24日

高質(zhì)量C++/C編程指南 Word文檔 下載

前言

軟件質(zhì)量是被大多數(shù)程序員掛在嘴上而不是放在心上的東西!

除了完全外行和真正的編程高手外,初讀本書(shū),你最先的感受將是驚慌:“哇!我以前捏造的C++/C程序怎么會(huì)有那么多的毛病?”

別難過(guò),作者只不過(guò)比你早幾年、多幾次驚慌而已。

請(qǐng)花一兩個(gè)小時(shí)認(rèn)真閱讀這本百頁(yè)經(jīng)書(shū),你將會(huì)獲益匪淺,這是前面N-1個(gè)讀者的建議。

一、編程老手與高手的誤區(qū)

自從計(jì)算機(jī)問(wèn)世以來(lái),程序設(shè)計(jì)就成了令人羨慕的職業(yè),程序員在受人寵愛(ài)之后容易發(fā)展成為毛病特多卻常能自我臭美的群體。

如今在 Internet 上流傳的“真正”的程序員據(jù)說(shuō)是這樣的:

(1) 真正的程序員沒(méi)有進(jìn)度表,只有討好領(lǐng)導(dǎo)的馬屁精才有進(jìn)度表,真正的程序員會(huì)讓領(lǐng)導(dǎo)提心吊膽。

(2) 真正的程序員不寫(xiě)使用說(shuō)明書(shū),用戶應(yīng)當(dāng)自己去猜想程序的功能。

(3) 真正的程序員幾乎不寫(xiě)代碼的注釋?zhuān)绻⑨尯茈y寫(xiě),它理所當(dāng)然也很難讀。

(4) 真正的程序員不畫(huà)流程圖,原始人和文盲才會(huì)干這事。

(5) 真正的程序員不看參考手冊(cè),新手和膽小鬼才會(huì)看。

(6) 真正的程序員不寫(xiě)文檔也不需要文檔,只有看不懂程序的笨蛋才用文檔。

(7) 真正的程序員認(rèn)為自己比用戶更明白用戶需要什么。

(8) 真正的程序員不接受團(tuán)隊(duì)開(kāi)發(fā)的理念,除非他自己是頭頭。

(9) 真正的程序員的程序不會(huì)在第一次就正確運(yùn)行,但是他們?cè)敢馐刂鴻C(jī)器進(jìn)行若干個(gè) 30 小時(shí)的調(diào)試改錯(cuò)。

(10) 真正的程序員不會(huì)在上午 9:00 到下午 5:00 之間工作,如果你看到他在上午 9:00 工作,這表明他從昨晚一直干到現(xiàn)在。

……

具備上述特征越多,越顯得水平高,資格老。所以別奇怪,程序員的很多缺點(diǎn)竟然可以被當(dāng)作優(yōu)點(diǎn)來(lái)欣賞。就象在武俠小說(shuō)中,那些獨(dú)來(lái)獨(dú)往、不受約束且?guī)c(diǎn)邪氣的高手最令人崇拜。我曾經(jīng)也這樣信奉,并且希望自己成為那樣的“真正”的程序員,結(jié)果沒(méi)有得到好下場(chǎng)。

我從讀大學(xué)到博士畢業(yè)十年來(lái)一直勤奮好學(xué),累計(jì)編寫(xiě)了數(shù)十萬(wàn)行 C++/C 代碼。有這樣的苦勞和疲勞,我應(yīng)該稱得上是編程老手了吧?

我開(kāi)發(fā)的軟件都與科研相關(guān)(集成電路 CAD 和 3D 圖形學(xué)領(lǐng)域),動(dòng)輒數(shù)萬(wàn)行程序,技術(shù)復(fù)雜,難度頗高。這些軟件頻頻獲獎(jiǎng),有一個(gè)軟件獲得首屆中國(guó)大學(xué)生電腦大賽軟件展示一等獎(jiǎng)。在 1995 年開(kāi)發(fā)的一套圖形軟件庫(kù)到 2000 年還有人買(mǎi)。羅列出這些“業(yè)績(jī)”,可以說(shuō)明我算得上是編程高手了吧?

可惜這種個(gè)人感覺(jué)不等于事實(shí)。

讀博期間我曾用一年時(shí)間開(kāi)發(fā)了一個(gè)近 10 萬(wàn)行 C++ 代碼的 3D 圖形軟件產(chǎn)品,我內(nèi)心得意表面謙虛地向一位真正的軟件高手請(qǐng)教。他雖然從未涉足過(guò) 3D 圖形領(lǐng)域,卻在幾十分鐘內(nèi)指出該軟件多處重大設(shè)計(jì)錯(cuò)誤。讓人感覺(jué)那套軟件是用紙糊的華麗衣服,扯一下掉一塊,戳一下破個(gè)洞。我目瞪口呆地意識(shí)到這套軟件毫無(wú)實(shí)用價(jià)值,一年的心血白化了,并且害死了自己的軟件公司。

人的頓悟通常發(fā)生在最心痛的時(shí)刻,在沮喪和心痛之后,我作了深刻反省,“面壁”半年,重新溫習(xí)軟件設(shè)計(jì)的基礎(chǔ)知識(shí)。補(bǔ)修“內(nèi)功”之后,又覺(jué)得腰板硬了起來(lái)。博士畢業(yè)前半年,我曾到微軟中國(guó)研究院找工作,接受微軟公司一位資深軟件工程師的面試。他讓我寫(xiě)函數(shù) strcpy 的代碼。

太容易了吧?

錯(cuò)!

這么一個(gè)小不點(diǎn)的函數(shù),他從三個(gè)方面考查:

( 1 )編程風(fēng)格;

( 2 )出錯(cuò)處理;

( 3 )算法復(fù)雜度分析(用于提高性能)。

在大學(xué)里從來(lái)沒(méi)有人如此嚴(yán)格地考查過(guò)我的程序。我化了半個(gè)小時(shí),修改了數(shù)次,他還不盡滿意,讓我回家好好琢磨。我精神抖擻地進(jìn)“考場(chǎng)”,大汗淋漓地出“考場(chǎng)”。這“高手”當(dāng)?shù)靡蔡C囊了。我又好好地反省了一次。

我把反省后的心得體會(huì)寫(xiě)成文章放在網(wǎng)上傳閱,引起了不少軟件開(kāi)發(fā)人員的共鳴。我因此有幸和國(guó)產(chǎn)大型 IT 企業(yè)如華為、上海貝爾、中興等公司的同志們廣泛交流。大家認(rèn)為提高質(zhì)量與生產(chǎn)率是軟件工程要解決的核心問(wèn)題。高質(zhì)量程序設(shè)計(jì)是非常重要的環(huán)節(jié),畢竟軟件是靠編程來(lái)實(shí)現(xiàn)的。

我們心目中的老手們和高手們能否編寫(xiě)出高質(zhì)量的程序來(lái)?

不見(jiàn)得都能!

就我的經(jīng)歷與閱歷來(lái)看,國(guó)內(nèi)大學(xué)的計(jì)算機(jī)教育壓根就沒(méi)有灌輸高質(zhì)量程序設(shè)計(jì)的觀念,教師們和學(xué)生們也很少自覺(jué)關(guān)心軟件的質(zhì)量。勤奮好學(xué)的程序員長(zhǎng)期在低質(zhì)量的程序堆中滾爬,吃盡苦頭之后才有一些心得體會(huì),長(zhǎng)進(jìn)極慢,我就是一例。

現(xiàn)在國(guó)內(nèi) IT 企業(yè)擁有學(xué)士、碩士、博士文憑的軟件開(kāi)發(fā)人員比比皆是,但他們?cè)诮邮艽髮W(xué)教育時(shí)就“先天不足”,豈能一到企業(yè)就突然實(shí)現(xiàn)質(zhì)的飛躍。試問(wèn)有多少軟件開(kāi)發(fā)人員對(duì)正確性、健壯性、可靠性、效率、易用性、可讀性(可理解性)、可擴(kuò)展性、可復(fù)用性、兼容性、可移植性等質(zhì)量屬性了如指掌?并且能在實(shí)踐中運(yùn)用自如?。“高質(zhì)量”可不是干活小心點(diǎn)就能實(shí)現(xiàn)的!

我們有充分的理由疑慮:

( 1 )編程老手可能會(huì)長(zhǎng)期用隱含錯(cuò)誤的方式編程(習(xí)慣成自然),發(fā)現(xiàn)毛病后都不愿相信那是真的!

( 2 )編程高手可以在某一領(lǐng)域?qū)懗鰳O有水平的代碼,但未必能從全局把握軟件質(zhì)量的方方面面。

事實(shí)證明如此。我到上海貝爾工作一年來(lái),陸續(xù)面試或測(cè)試過(guò)近百名“新”“老”程序員的編程技能,質(zhì)量合格率大約是 10 %。很少有人能夠?qū)懗鐾耆腺|(zhì)量要求的 if 語(yǔ)句,很多程序員對(duì)指針、內(nèi)存管理一知半解, …… 。

領(lǐng)導(dǎo)們不敢相信這是真的。我做過(guò)現(xiàn)場(chǎng)試驗(yàn):有一次部門(mén)新進(jìn) 14 名碩士生,在開(kāi)歡迎會(huì)之前對(duì)他們進(jìn)行“ C++/C 編程技能”摸底考試。我問(wèn)大家試題難不難?所有的人都回答不難。結(jié)果沒(méi)有一個(gè)人及格,有半數(shù)人得零分。競(jìng)爭(zhēng)對(duì)手公司的朋友們也做過(guò)試驗(yàn),同樣一敗涂地。

真的不是我“心狠手辣”或者要求過(guò)高,而是很多軟件開(kāi)發(fā)人員對(duì)自己的要求不夠高。

要知道華為、上海貝爾、中興等公司的員工素質(zhì)在國(guó)內(nèi) IT 企業(yè)中是比較前列的,倘若他們的編程質(zhì)量都如此差的話,我們?cè)趺锤移谕行」灸贸龈哔|(zhì)量的軟件呢?連程序都編不好,還談什么振興民族軟件產(chǎn)業(yè),豈不胡扯。

我打算定義編程老手和編程高手,請(qǐng)您別見(jiàn)笑。

定義 1 :能長(zhǎng)期穩(wěn)定地編寫(xiě)出高質(zhì)量程序的程序員稱為編程老手。

定義 2 :能長(zhǎng)期穩(wěn)定地編寫(xiě)出高難度、高質(zhì)量程序的程序員稱為編程高手。

根據(jù)上述定義,馬上得到第一推論:我既不是高手也算不上是老手。

在寫(xiě)此書(shū)前,我閱讀了不少程序設(shè)計(jì)方面的英文著作,越看越羞慚。因?yàn)榘l(fā)現(xiàn)自己連編程基本技能都未能全面掌握,頂多算是二流水平,還好意思談什么老手和高手。希望和我一樣在國(guó)內(nèi)土生土長(zhǎng)的程序員朋友們能夠做到:

( 1 )知錯(cuò)就改;

( 2 )經(jīng)常溫故而知新;

( 3 )堅(jiān)持學(xué)習(xí),天天向上。

二、本書(shū)導(dǎo)讀

首先請(qǐng)做附錄B的C++/C試題(不要看答案),考查自己的編程質(zhì)量究竟如何。然后參照答案嚴(yán)格打分。

( 1)如果你只得了幾十分,請(qǐng)不要聲張,也不要太難過(guò)。編程質(zhì)量差往往是由于不良習(xí)慣造成的,與人的智力、能力沒(méi)有多大關(guān)系,還是有藥可救的。成績(jī)?cè)讲睿梢赃M(jìn)步的空間就越大,中國(guó)不就是在落后中趕超發(fā)達(dá)資本主義國(guó)家嗎?只要你能下決心改掉不良的編程習(xí)慣,第二次考試就能及格了。

( 2)如果你考及格了,表明你的技術(shù)基礎(chǔ)不錯(cuò),希望你能虛心學(xué)習(xí)、不斷進(jìn)步。如果你還沒(méi)有找到合適的工作單位,不妨到上海貝爾試一試。

( 3)如果你考出85分以上的好成績(jī),你有義務(wù)和資格為你所在的團(tuán)隊(duì)作“C++/C編程”培訓(xùn)。希望你能和我們多多交流、相互促進(jìn)。半年前我曾經(jīng)發(fā)現(xiàn)一顆好苗子,就把他挖到我們小組來(lái)。

( 4)如果你在沒(méi)有任何提示的情況下考了滿分,希望你能收我做你的徒弟。

編程考試結(jié)束后,請(qǐng)閱讀本書(shū)的正文。

本書(shū)第一章至第六章主要論述C++/C編程風(fēng)格。難度不高,但是細(xì)節(jié)比較多。別小看了,提高質(zhì)量就是要從這些點(diǎn)點(diǎn)滴滴做起。世上不存在最好的編程風(fēng)格,一切因需求而定。團(tuán)隊(duì)開(kāi)發(fā)講究風(fēng)格一致,如果制定了大家認(rèn)可的編程風(fēng)格,那么所有組員都要遵守。如果讀者覺(jué)得本書(shū)的編程風(fēng)格比較合你的工作,那么就采用它,不要只看不做。人在小時(shí)候說(shuō)話發(fā)音不準(zhǔn),寫(xiě)字潦草,如果不改正,總有后悔的時(shí)候。編程也是同樣道理。

第七章至第十一章是專(zhuān)題論述,技術(shù)難度比較高,看書(shū)時(shí)要積極思考。特別是第七章“內(nèi)存管理”,讀了并不表示懂了,懂了并不表示就能正確使用。有一位同事看了第七章后覺(jué)得“野指針”寫(xiě)得不錯(cuò),與我切磋了一把。可是過(guò)了兩周,他告訴我,他忙了兩天追查出一個(gè)Bug,想不到又是“野指針”出問(wèn)題,只好重讀第七章。

光看本書(shū)對(duì)提高編程質(zhì)量是有限的,建議大家閱讀本書(shū)的參考文獻(xiàn),那些都是經(jīng)典名著。

如果你的編程質(zhì)量已經(jīng)過(guò)關(guān)了,不要就此滿足。如果你想成為優(yōu)秀的軟件開(kāi)發(fā)人員,建議你閱讀并按照 CMMI 規(guī)范做事,讓自己的綜合水平上升一個(gè)臺(tái)階。上海貝爾的員工可以向網(wǎng)絡(luò)應(yīng)用事業(yè)部軟件工程研究小組索取 CMMI 有關(guān)資料,最好能參加培訓(xùn)。

三、版權(quán)聲明

本書(shū)的大部分內(nèi)容取材于作者一年前的書(shū)籍手稿(尚未出版),現(xiàn)整理匯編成為上海貝爾網(wǎng)絡(luò)應(yīng)用事業(yè)部的一個(gè)規(guī)范化文件,同時(shí)作為培訓(xùn)教材。

由于 C++/C 編程是眾所周知的技術(shù),沒(méi)有秘密可言。編程的好經(jīng)驗(yàn)應(yīng)該大家共享,我們自己也是這么學(xué)來(lái)的。作者愿意公開(kāi)本書(shū)的電子文檔。

版權(quán)聲明如下:

( 1 )讀者可以任意拷貝、修改本書(shū)的內(nèi)容,但不可以篡改作者及所屬單位。

( 2 )未經(jīng)作者許可,不得出版或大量印發(fā)本書(shū)。

( 3 )如果競(jìng)爭(zhēng)對(duì)手公司的員工得到本書(shū),請(qǐng)勿公開(kāi)使用,以免發(fā)生糾紛。

預(yù)計(jì)到 2002 年 7 月,我們將建立切合中國(guó)國(guó)情的 CMMI 3 級(jí)解決方案。屆時(shí),包括本書(shū)在內(nèi)的約 1000 頁(yè)規(guī)范將嚴(yán)格受控。

歡迎讀者對(duì)本書(shū)提出批評(píng)建議 。

發(fā)表評(píng)論 共有條評(píng)論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表
国产激情自拍_国产9色视频_丁香花在线电影小说观看 _久久久久国产精品嫩草影院
一本久久精品| 国产视频中文字幕在线观看| 国产成人精品18| 中文字幕在线免费观看| 国产中文字幕在线播放| 国产乱子视频| 国产不卡精品一区二区三区| 亚洲综合在线不卡| 国产剧情在线一区| 中文在线官网天堂| 国产麻豆一区二区三区精品| 国产视频三区| a视频在线观看免费| 国产中文在线视频| 国产盗摄一区二区| 精品全国在线一区二区| 精品国产99久久久久久| www久久日com| 国产网站在线播放| 黄色三级视频在线观看| 国产成人夜间影院在线观看| 欧美另类在线视频| 国产精品va在线观看视色| 青青草免费观看免费视频在线| 国产免费福利网站| www.三区| 精品视频麻豆入口| 国产高清一级片| 国产美女免费观看| www在线免费观看视频| 国产三级视频在线| 免费a在线看| av首页在线| 中文乱码字幕av网站| 国产性网软件大全| 国产在线www| 欧美高清xxxx性| 精品国语对白精品自拍视| 国产欧美在线观看视频| 午夜视频在线| 88av在线| 国产日韩欧美第一页| 最近中文字幕av免费高清| 一本大道久久a久久精品| 精品极品三级久久久久| 国产精品xxx电影| 国产激情二区| 精品福利影院| 日本调教视频在线观看| jlzzjlzz欧美大全| 久久香蕉一区| 国产一区二区在线|播放| 尤物在线网址| 2020亚洲男人天堂| av在线不卡网站| 九色自拍视频| 国产探花在线观看| 精品成人一区二区三区免费视频| 在线观看视频污| 免费黄色网页在线观看| 欧美性猛交xxxx免费看久久| 欧美精品久久久久久久小说| 福利资源在线久| 国产二区视频| 另类综合图区| 2021av天天| 国产精品臀控福利在线观看| 国产成人亚洲综合小说区| 亚洲成人av在线影院| 激情视频国产| 在线视频婷婷| 天天操天天操一操| 天天激情综合| 国产人成网在线播放va免费| www.99av| 精品国产美女福利到在线不卡| gogogo影视剧免费观看在线观看| 国产69精品久久久久孕妇国产69久久| 综合激情亚洲| www.99色.com| av亚洲男人天堂| 国产探花视频在线观看| 青青草免费观看免费视频在线| 国产无遮挡又黄又爽免费软件| av人人综合网| 国产精品久久久久久久牛牛 | 精品视频三区| 国产色在线观看| 国产精品一区二区三区视频网站 | аⅴ成人天堂中文在线| 精品一区二区在线欧美| 国产乱妇乱子| 狠狠操天天操夜夜操| 亚洲精品天堂在线观看| 国产福利热线视频| 国产精品美女一区二区三区四区| 欧美亚洲另类在线观看| 青草视频在线播放| 99综合精品久久| 91国内精品在线视频| 91社区在线观看| 中文岛国精品亚洲一区| 在线一区观看| 在线国产91| 日本一二三区视频免费高清| 日本一本久久| 超碰国产在线观看| 黄网址在线永久免费观看| 久久精品国产麻豆| 成年人在线观看| 国产人成高清视频观看| 999福利在线视频| 在线午夜视频| 在线观看的av| 欧美婷婷久久五月精品三区| 九九热在线观看视频| 成人欧美日韩| 国产经典av| 日本在线视频www鲁啊鲁| 麻豆网站在线| 国产日本在线视频| 亚洲国产aⅴ精品| 不卡av免费观看| 国产一级免费看| 四虎成人免费| 国产精品视频一区二区免费不卡 | 在线视频中文字幕| 在线国产1区| 九九视频精品在线| 国产精品久久人| 蜜桃av在线免费观看| 国产人成在线视频| 热99re久久精品精品免费| 五月婷婷开心综合| 在线观看免费视频一区二区三区| 国产中文在线视频| 亚洲欧美精选| 国产人成网在线播放va免费| 欧美日韩一区二区三区在线播放 | 国产丝袜精品丝袜| а√最新版在线天堂| 国产精品视频一区二区图片| eeuss影院网站免费观看| 最新亚洲精品国自产在线观看| 天堂√中文在线| 91网页在线观看| 综合激情丁香| 国产中文字幕av| a视频在线观看免费| 2019中文字幕视频| 国产网站av| 丁香花在线电影| 麻豆国产在线播放| а√资源新版在线天堂| 色综合久久五月天| av在线你懂的| 伊人资源视频在线| 国产激情三区| 91美女主播在线视频| 国产精品va在线观看视色| 国产在线看片| 1区2区3区在线| 91sp网站在线观看入口| 久久99精品久久久久久野外| 欧美黑人乱大交| 黄色在线视频观看网站| 激情小说 在线视频| 美女网站在线观看| 好男人社区在线视频| 成av人免费青青久| 二人午夜免费观看在线视频| 免费看黄视频网站| 中文字幕免费中文| ·天天天天操| 爱福利在线视频| 免费国产阿v视频在线观看| 欧美日韩亚洲第一页| 开心激情五月婷婷| 日韩av成人| 精精国产xxxx视频在线中文版| 影音av资源站| 天堂资源在线中文| 国产91在线视频蝌蚪| 青青草视频在线免费观看| av在线不卡播放| 中文字幕免费中文| 精品视频在线一区二区| 亚洲精品国自产拍在线观看| 欧美性猛交xxxx免费看蜜桃| 国产男女av| 97操碰视频| 黄色av网址在线免费观看| 国产裸舞福利在线视频合集| 精精国产xxxx视频在线| 国产乱在线观看视频| www.大网伊人| 免费男女羞羞的视频网站中文字幕| 1区不卡电影| 国产中文在线视频| 天天插天天狠天天透|