資料介紹
前 言
軟件質量是被大多數程序員掛在嘴上而不是放在心上的東西!
除了完全外行和真正的編程高手外,初讀本書,你最先的感受將是驚慌:“哇!我
以前捏造的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 企業擁有學士、碩士、博士文憑的軟件開發人員比比皆是,但他們在
接受大學教育時就“先天不足”,豈能一到企業就突然實現質的飛躍。試問有多少軟件
開發人員對正確性、健壯性、可靠性、效率、易用性、可讀性(可理解性)、可擴展性、
可復用性、兼容性、可移植性等質量屬性了如指掌?并且能在實踐中運用自如?。“高
質量”可不是干活小心點就能實現的!
- 高質量C++/C編程指南 33次下載
- 高質量程序設計指南之C++C語言 0次下載
- 如何進行高質量的C、C++編程?高質量C++、C編程指南詳細資料免費下載 30次下載
- 高質量C 編程指南 7次下載
- 高質量的c編程指南 13次下載
- 高質量C、C++編程指南 16次下載
- 林銳高質量C++C編程指南2001 25次下載
- 高質量C語言編程指南 0次下載
- 高質量 C++/C 編程指南 13次下載
- 高質量C++C編程指南 0次下載
- 高質量C編程指南 0次下載
- 高質量C++編程指南 0次下載
- 高質量c++/c編程指南習題集(含答案)
- 高質量c++/c編程指南
- 《高質量程序設計指南 c++ c語言》下載
- 鐳雕機:如何利用激光技術實現高質量的產品標記 334次閱讀
- vb語言和c++語言的區別 1480次閱讀
- C++簡史:C++是如何開始的 415次閱讀
- 分享一些優秀的verilog代碼 高質量verilog代碼的六要素 974次閱讀
- C與C++混合編程是什么 1300次閱讀
- C++語言的發展 558次閱讀
- 主要從哪幾方面判斷制造商具有高質量的生產能力 5407次閱讀
- 高質量Verilog代碼有什么特點 1884次閱讀
- 步進電機及其工作原理高質量PPT學習資料 6286次閱讀
- USB-C連接器性能介紹 如何選擇高質量USB-C連接器 2618次閱讀
- 嵌入式C代碼編碼習慣要遵循哪些規則 3329次閱讀
- 高質量防電擊西裝制作方法 2173次閱讀
- 如何推動我國制造業高質量發展_五個步驟告訴你 1.6w次閱讀
- 介紹用于 AI 開發的高質量庫,并談談它們的優缺點,以及特性 6105次閱讀
- 數字頻率合成精解:用DDS器件產生高質量波形 3524次閱讀
下載排行
本周
- 1電子電路原理第七版PDF電子教材免費下載
- 0.00 MB | 1490次下載 | 免費
- 2單片機典型實例介紹
- 18.19 MB | 92次下載 | 1 積分
- 3S7-200PLC編程實例詳細資料
- 1.17 MB | 27次下載 | 1 積分
- 4筆記本電腦主板的元件識別和講解說明
- 4.28 MB | 18次下載 | 4 積分
- 5開關電源原理及各功能電路詳解
- 0.38 MB | 10次下載 | 免費
- 6基于AT89C2051/4051單片機編程器的實驗
- 0.11 MB | 4次下載 | 免費
- 7藍牙設備在嵌入式領域的廣泛應用
- 0.63 MB | 3次下載 | 免費
- 89天練會電子電路識圖
- 5.91 MB | 3次下載 | 免費
本月
- 1OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 2PADS 9.0 2009最新版 -下載
- 0.00 MB | 66304次下載 | 免費
- 3protel99下載protel99軟件下載(中文版)
- 0.00 MB | 51209次下載 | 免費
- 4LabView 8.0 專業版下載 (3CD完整版)
- 0.00 MB | 51043次下載 | 免費
- 5555集成電路應用800例(新編版)
- 0.00 MB | 33562次下載 | 免費
- 6接口電路圖大全
- 未知 | 30320次下載 | 免費
- 7Multisim 10下載Multisim 10 中文版
- 0.00 MB | 28588次下載 | 免費
- 8開關電源設計實例指南
- 未知 | 21539次下載 | 免費
總榜
- 1matlab軟件下載入口
- 未知 | 935053次下載 | 免費
- 2protel99se軟件下載(可英文版轉中文版)
- 78.1 MB | 537791次下載 | 免費
- 3MATLAB 7.1 下載 (含軟件介紹)
- 未知 | 420026次下載 | 免費
- 4OrCAD10.5下載OrCAD10.5中文版軟件
- 0.00 MB | 234313次下載 | 免費
- 5Altium DXP2002下載入口
- 未知 | 233045次下載 | 免費
- 6電路仿真軟件multisim 10.0免費下載
- 340992 | 191183次下載 | 免費
- 7十天學會AVR單片機與C語言視頻教程 下載
- 158M | 183277次下載 | 免費
- 8proe5.0野火版下載(中文版免費下載)
- 未知 | 138039次下載 | 免費
評論
查看更多