亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C++ > 正文

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

2024-09-07 17:00:54
字體:
來源:轉載
供稿:網友

作者:林銳博士

完成時間:2001年7月24日

高質量C++/C編程指南 Word文檔 下載

前言

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

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

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

請花一兩個小時認真閱讀這本百頁經書,你將會獲益匪淺,這是前面N-1個讀者的建議。

一、編程老手與高手的誤區

自從計算機問世以來,程序設計就成了令人羨慕的職業,程序員在受人寵愛之后容易發展成為毛病特多卻常能自我臭美的群體。

如今在 Internet 上流傳的“真正”的程序員據說是這樣的:

(1) 真正的程序員沒有進度表,只有討好領導的馬屁精才有進度表,真正的程序員會讓領導提心吊膽。

(2) 真正的程序員不寫使用說明書,用戶應當自己去猜想程序的功能。

(3) 真正的程序員幾乎不寫代碼的注釋,如果注釋很難寫,它理所當然也很難讀。

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

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

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

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

(8) 真正的程序員不接受團隊開發的理念,除非他自己是頭頭。

(9) 真正的程序員的程序不會在第一次就正確運行,但是他們愿意守著機器進行若干個 30 小時的調試改錯。

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

……

具備上述特征越多,越顯得水平高,資格老。所以別奇怪,程序員的很多缺點竟然可以被當作優點來欣賞。就象在武俠小說中,那些獨來獨往、不受約束且帶點邪氣的高手最令人崇拜。我曾經也這樣信奉,并且希望自己成為那樣的“真正”的程序員,結果沒有得到好下場。

我從讀大學到博士畢業十年來一直勤奮好學,累計編寫了數十萬行 C++/C 代碼。有這樣的苦勞和疲勞,我應該稱得上是編程老手了吧?

我開發的軟件都與科研相關(集成電路 CAD 和 3D 圖形學領域),動輒數萬行程序,技術復雜,難度頗高。這些軟件頻頻獲獎,有一個軟件獲得首屆中國大學生電腦大賽軟件展示一等獎。在 1995 年開發的一套圖形軟件庫到 2000 年還有人買。羅列出這些“業績”,可以說明我算得上是編程高手了吧?

可惜這種個人感覺不等于事實。

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

人的頓悟通常發生在最心痛的時刻,在沮喪和心痛之后,我作了深刻反省,“面壁”半年,重新溫習軟件設計的基礎知識。補修“內功”之后,又覺得腰板硬了起來。博士畢業前半年,我曾到微軟中國研究院找工作,接受微軟公司一位資深軟件工程師的面試。他讓我寫函數 strcpy 的代碼。

太容易了吧?

錯!

這么一個小不點的函數,他從三個方面考查:

( 1 )編程風格;

( 2 )出錯處理;

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

在大學里從來沒有人如此嚴格地考查過我的程序。我化了半個小時,修改了數次,他還不盡滿意,讓我回家好好琢磨。我精神抖擻地進“考場”,大汗淋漓地出“考場”。這“高手”當得也太窩囊了。我又好好地反省了一次。

我把反省后的心得體會寫成文章放在網上傳閱,引起了不少軟件開發人員的共鳴。我因此有幸和國產大型 IT 企業如華為、上海貝爾、中興等公司的同志們廣泛交流。大家認為提高質量與生產率是軟件工程要解決的核心問題。高質量程序設計是非常重要的環節,畢竟軟件是靠編程來實現的。

我們心目中的老手們和高手們能否編寫出高質量的程序來?

不見得都能!

就我的經歷與閱歷來看,國內大學的計算機教育壓根就沒有灌輸高質量程序設計的觀念,教師們和學生們也很少自覺關心軟件的質量。勤奮好學的程序員長期在低質量的程序堆中滾爬,吃盡苦頭之后才有一些心得體會,長進極慢,我就是一例。

現在國內 IT 企業擁有學士、碩士、博士文憑的軟件開發人員比比皆是,但他們在接受大學教育時就“先天不足”,豈能一到企業就突然實現質的飛躍。試問有多少軟件開發人員對正確性、健壯性、可靠性、效率、易用性、可讀性(可理解性)、可擴展性、可復用性、兼容性、可移植性等質量屬性了如指掌?并且能在實踐中運用自如??!案哔|量”可不是干活小心點就能實現的!

我們有充分的理由疑慮:

( 1 )編程老手可能會長期用隱含錯誤的方式編程(習慣成自然),發現毛病后都不愿相信那是真的!

( 2 )編程高手可以在某一領域寫出極有水平的代碼,但未必能從全局把握軟件質量的方方面面。

事實證明如此。我到上海貝爾工作一年來,陸續面試或測試過近百名“新”“老”程序員的編程技能,質量合格率大約是 10 %。很少有人能夠寫出完全符合質量要求的 if 語句,很多程序員對指針、內存管理一知半解, …… 。

領導們不敢相信這是真的。我做過現場試驗:有一次部門新進 14 名碩士生,在開歡迎會之前對他們進行“ C++/C 編程技能”摸底考試。我問大家試題難不難?所有的人都回答不難。結果沒有一個人及格,有半數人得零分。競爭對手公司的朋友們也做過試驗,同樣一敗涂地。

真的不是我“心狠手辣”或者要求過高,而是很多軟件開發人員對自己的要求不夠高。

要知道華為、上海貝爾、中興等公司的員工素質在國內 IT 企業中是比較前列的,倘若他們的編程質量都如此差的話,我們怎么敢期望中小公司拿出高質量的軟件呢?連程序都編不好,還談什么振興民族軟件產業,豈不胡扯。

我打算定義編程老手和編程高手,請您別見笑。

定義 1 :能長期穩定地編寫出高質量程序的程序員稱為編程老手。

定義 2 :能長期穩定地編寫出高難度、高質量程序的程序員稱為編程高手。

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

在寫此書前,我閱讀了不少程序設計方面的英文著作,越看越羞慚。因為發現自己連編程基本技能都未能全面掌握,頂多算是二流水平,還好意思談什么老手和高手。希望和我一樣在國內土生土長的程序員朋友們能夠做到:

( 1 )知錯就改;

( 2 )經常溫故而知新;

( 3 )堅持學習,天天向上。

二、本書導讀

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

( 1)如果你只得了幾十分,請不要聲張,也不要太難過。編程質量差往往是由于不良習慣造成的,與人的智力、能力沒有多大關系,還是有藥可救的。成績越差,可以進步的空間就越大,中國不就是在落后中趕超發達資本主義國家嗎?只要你能下決心改掉不良的編程習慣,第二次考試就能及格了。

( 2)如果你考及格了,表明你的技術基礎不錯,希望你能虛心學習、不斷進步。如果你還沒有找到合適的工作單位,不妨到上海貝爾試一試。

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

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

編程考試結束后,請閱讀本書的正文。

本書第一章至第六章主要論述C++/C編程風格。難度不高,但是細節比較多。別小看了,提高質量就是要從這些點點滴滴做起。世上不存在最好的編程風格,一切因需求而定。團隊開發講究風格一致,如果制定了大家認可的編程風格,那么所有組員都要遵守。如果讀者覺得本書的編程風格比較合你的工作,那么就采用它,不要只看不做。人在小時候說話發音不準,寫字潦草,如果不改正,總有后悔的時候。編程也是同樣道理。

第七章至第十一章是專題論述,技術難度比較高,看書時要積極思考。特別是第七章“內存管理”,讀了并不表示懂了,懂了并不表示就能正確使用。有一位同事看了第七章后覺得“野指針”寫得不錯,與我切磋了一把??墒沁^了兩周,他告訴我,他忙了兩天追查出一個Bug,想不到又是“野指針”出問題,只好重讀第七章。

光看本書對提高編程質量是有限的,建議大家閱讀本書的參考文獻,那些都是經典名著。

如果你的編程質量已經過關了,不要就此滿足。如果你想成為優秀的軟件開發人員,建議你閱讀并按照 CMMI 規范做事,讓自己的綜合水平上升一個臺階。上海貝爾的員工可以向網絡應用事業部軟件工程研究小組索取 CMMI 有關資料,最好能參加培訓。

三、版權聲明

本書的大部分內容取材于作者一年前的書籍手稿(尚未出版),現整理匯編成為上海貝爾網絡應用事業部的一個規范化文件,同時作為培訓教材。

由于 C++/C 編程是眾所周知的技術,沒有秘密可言。編程的好經驗應該大家共享,我們自己也是這么學來的。作者愿意公開本書的電子文檔。

版權聲明如下:

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

( 2 )未經作者許可,不得出版或大量印發本書。

( 3 )如果競爭對手公司的員工得到本書,請勿公開使用,以免發生糾紛。

預計到 2002 年 7 月,我們將建立切合中國國情的 CMMI 3 級解決方案。屆時,包括本書在內的約 1000 頁規范將嚴格受控。

歡迎讀者對本書提出批評建議 。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
最新的欧美黄色| 国产精品h片在线播放| 国外日韩电影在线观看| 亚洲国产精品中文| 成人久久18免费网站图片| 久久久噜噜噜久久久| 亚洲美腿欧美激情另类| 亚洲美女动态图120秒| 97视频在线观看播放| 亚洲无限av看| 亚洲乱码av中文一区二区| 国产精品第七十二页| 国产精品欧美日韩| 久热在线中文字幕色999舞| 亚洲精品中文字幕av| 91国语精品自产拍在线观看性色| 国产一级揄自揄精品视频| 久久亚洲综合国产精品99麻豆精品福利| 2020久久国产精品| 2018中文字幕一区二区三区| 久久夜色精品亚洲噜噜国产mv| 欧美在线一级va免费观看| 国产视频亚洲视频| 欧美精品少妇videofree| 国产主播欧美精品| 亚洲欧洲国产伦综合| 日本久久亚洲电影| 狠狠爱在线视频一区| 日韩欧美中文字幕在线播放| 国产成人综合精品在线| 97成人超碰免| 亚洲丁香婷深爱综合| 国产精品国产福利国产秒拍| 亚洲专区中文字幕| 日韩一区二区三区在线播放| 69av在线播放| 亚洲第一区第一页| 亚洲国产精品va在线| 国产日韩欧美中文在线播放| 亚洲精品福利在线| 欧美在线xxx| 亚洲欧美日韩一区在线| 国产精品丝袜久久久久久高清| 日韩免费黄色av| 日韩综合视频在线观看| 国产视频亚洲精品| 亚洲最大成人免费视频| 亚洲视频在线播放| 欧美性猛交xxxx富婆| 国产欧美一区二区| 狠狠色狠狠色综合日日小说| 成人精品在线观看| 日韩精品在线观看网站| 国产成人精品久久| 欧美大尺度电影在线观看| 日韩精品在线观看一区二区| 成人a视频在线观看| 色综合伊人色综合网| 宅男66日本亚洲欧美视频| 国产日韩欧美在线视频观看| 欧美电影免费观看高清完整| 91国产在线精品| 懂色aⅴ精品一区二区三区蜜月| 国产精品青青在线观看爽香蕉| yw.139尤物在线精品视频| 国产精品免费久久久久影院| 欧美黑人极品猛少妇色xxxxx| 欧美电影免费观看大全| 97视频在线免费观看| 国产视频精品va久久久久久| 91超碰caoporn97人人| 亚洲免费中文字幕| 丝袜情趣国产精品| 亚洲精品久久久久中文字幕欢迎你| 亚洲精品视频免费在线观看| 国产91亚洲精品| 伊人久久大香线蕉av一区二区| 欧美性猛交xxxx| 国产精品久在线观看| 9.1国产丝袜在线观看| 国产亚洲精品久久久| 日本不卡视频在线播放| 91美女高潮出水| 亚洲精品自在久久| 精品精品国产国产自在线| 国产综合香蕉五月婷在线| 国产精品∨欧美精品v日韩精品| 亚洲精品久久久久久久久久久久| 成人精品在线视频| 97在线免费观看| 欧美日韩福利电影| 欧美激情第1页| 欧美精品999| 国产成人中文字幕| 色偷偷av一区二区三区乱| 日韩av影片在线观看| 久久亚洲精品视频| 91欧美激情另类亚洲| 国产精品日韩欧美大师| 伊人青青综合网站| 国产亚洲视频在线观看| 国内精品一区二区三区| 日本精品视频在线| 国内外成人免费激情在线视频| 久久久精品免费视频| 亚洲欧美第一页| 97视频在线观看网址| 亚洲精品视频免费在线观看| 精品国内亚洲在观看18黄| 九九九热精品免费视频观看网站| 国产亚洲日本欧美韩国| 日韩高清a**址| 欧美一区二区三区免费视| 欧美综合国产精品久久丁香| 九九视频这里只有精品| 久久久影视精品| 亚洲精品综合久久中文字幕| 精品久久久av| 欧美电影免费观看电视剧大全| 国产精品久久久亚洲| 中文字幕欧美视频在线| 成人xvideos免费视频| 国产精品久久久久久久9999| 亚洲自拍小视频| 国产在线日韩在线| 欧美孕妇与黑人孕交| 久久99久久亚洲国产| 亚洲欧美一区二区三区情侣bbw| 中文欧美在线视频| 亚洲精品国精品久久99热一| 欧美综合国产精品久久丁香| 欧美国产亚洲视频| 国产成人精品免高潮在线观看| 欧美激情亚洲自拍| 久久久午夜视频| 国产mv免费观看入口亚洲| 影音先锋欧美精品| 国产伦精品免费视频| 亚洲字幕在线观看| www.久久草.com| 最近2019中文字幕第三页视频| 久久精品国产96久久久香蕉| 韩国精品美女www爽爽爽视频| 91在线精品播放| 日日骚av一区| 日韩精品亚洲精品| 精品美女永久免费视频| 日本高清不卡在线| 国外成人性视频| 黑人与娇小精品av专区| 国产91ⅴ在线精品免费观看| 欧美精品一区二区免费| 亚洲自拍偷拍一区| 亚洲电影av在线| 久久免费视频在线| 色哟哟网站入口亚洲精品| 亚洲一区二区三区777| 69av在线视频| 97久久国产精品| 亚洲永久在线观看| 日韩av片免费在线观看| 国产日本欧美一区二区三区| 亚洲精品美女视频| 91精品91久久久久久|