freepeople性欧美熟妇, 色戒完整版无删减158分钟hd, 无码精品国产vα在线观看DVD, 丰满少妇伦精品无码专区在线观看,艾栗栗与纹身男宾馆3p50分钟,国产AV片在线观看,黑人与美女高潮,18岁女RAPPERDISSSUBS,国产手机在机看影片

正文內(nèi)容

[計算機(jī)]高質(zhì)量c_c編程指南(編輯修改稿)

2024-10-11 20:05 本頁面
 

【文章內(nèi)容簡介】 龍行天下 院找工作,接受微軟公司一位資深軟件工程師的面試。他讓我寫函數(shù) strcpy 的代碼。 太容易了吧? 錯! 這么一個小不點(diǎn)的函數(shù),他從三個方面考查: ( 1)編程風(fēng)格; ( 2)出錯處理; ( 3)算法復(fù)雜度分析(用于提高性能)。 在大學(xué)里從來沒有人如此嚴(yán)格地考查過我的程序。我化了半個小時,修改了數(shù)次,他還不盡滿意,讓我回家好好琢磨。我精神抖擻地進(jìn)“考場”,大汗淋漓地出“考場”。這“高手”當(dāng)?shù)靡蔡C囊了。我又好好地反省了一次。 我把反省后的心得體會寫成文章放在網(wǎng)上傳閱,引起了不少軟件開發(fā)人員的共鳴。我因此有幸和國產(chǎn)大型 IT 企業(yè)如華為、上海貝爾、中興等公司的同志們廣泛交流。大家認(rèn)為提高質(zhì)量與生產(chǎn)率是軟件工程要解決的核心問題。高質(zhì)量程序設(shè)計是非常重要的環(huán)節(jié),畢竟軟件是靠編程來實現(xiàn)的。 我們心目中的老手們和高手們能否編寫出高質(zhì)量的程序來? 不見得都能! 就我的經(jīng)歷與閱歷來看,國內(nèi)大學(xué)的計算機(jī)教育壓根就沒有灌輸高質(zhì)量程序設(shè)計的觀念,教師們和學(xué)生們也很少自覺關(guān)心軟件的質(zhì)量。勤奮好學(xué)的程序員長期在低質(zhì)量的程序堆中滾爬,吃盡苦頭之后才有一些心得體會,長進(jìn)極慢,我就是一例。 現(xiàn)在國內(nèi) IT 企業(yè)擁有學(xué)士、碩士、博士文憑的軟件開發(fā)人員比比皆是,但他們在接受大學(xué)教育時就“先天不足”,豈能一到企業(yè)就突然實現(xiàn)質(zhì)的飛躍。試問有多少軟件開發(fā)人員對正確性、健壯性、可靠性、效率、易用性、可讀性(可理解性)、可擴(kuò)展性 、可復(fù)用性、兼容性、可移植性等質(zhì)量屬性了如指掌?并且能在實踐中運(yùn)用自如?。“高質(zhì)量”可不是干活小心點(diǎn)就能實現(xiàn)的! 我們有充分的理由疑慮: ( 1)編程老手可能會長期用隱含錯誤的方式編程(習(xí)慣成自然),發(fā)現(xiàn)毛病后都不愿相信那是真的! ( 2)編程高手可以在某一領(lǐng)域?qū)懗鰳O有水平的代碼,但未必能從全局把握軟件質(zhì)量的方方面面。 事實證明如此。我到上海貝爾工作一年來,陸續(xù)面試或測試過近百名“新”“老”程序員的編程技能,質(zhì)量合格率大約是 10%。很少有人能夠?qū)懗鐾耆腺|(zhì)量要求的 if 語句,很多程序員對指針、內(nèi)存管理一知 半解, …… 。 領(lǐng)導(dǎo)們不敢相信這是真的。我做過現(xiàn)場試驗:有一次部門新進(jìn) 14 名碩士生,在開歡迎會之前對他們進(jìn)行“ C++/C編程技能”摸底考試。我問大家試題難不難?所有的人都回答不難。結(jié)果沒有一個人及格,有半數(shù)人得零分。競爭對手公司的朋友們也做過試驗,同樣一敗涂地。 真的不是我“心狠手辣”或者要求過高,而是很多軟件開發(fā)人員對自己的要求不夠高。 要知道華為、上海貝爾、中興等公司的員工素質(zhì)在國內(nèi) IT 企業(yè)中是比較前列的,倘若他們的編程質(zhì)量都如此差的話,我們怎么敢期望中小公司拿出高質(zhì)量的軟件呢?連程序都編不好,還談什么 振興民族軟件產(chǎn)業(yè),豈不胡扯。 我打算定義編程老手和編程高手,請您別見笑。 定義 1:能長期穩(wěn)定地編寫出高質(zhì)量程序的程序員稱為編程老手。 定義 2:能長期穩(wěn)定地編寫出高難度、高質(zhì)量程序的程序員稱為編程高手。 根據(jù)上述定義,馬上得到第一推論:我既不是高手也算不上是老手。 ★ 管理 篇 ★ ( 轉(zhuǎn)載 ) 龍行天下 在寫此書前,我閱讀了不少程序設(shè)計方面的英文著作,越看越羞慚。因為發(fā)現(xiàn)自己連編程基本技能都未能全面掌握,頂多算是二流水平,還好意思談什么老手和高手。希望和我一樣在國內(nèi)土生土長的程序員朋友們能夠做到: ( 1)知錯就改; ( 2)經(jīng)常溫故而知新; ( 3)堅持學(xué)習(xí),天天向上。 ★ 管理 篇 ★ ( 轉(zhuǎn)載 ) 龍行天下 二、本書導(dǎo)讀 首先請做附錄 B 的 C++/C 試題(不要看答案),考查自己的編程質(zhì)量究竟如何。然后參照答案嚴(yán)格打分。 ( 1)如果你只得了幾十分,請不要聲張,也不要太難過。編程質(zhì)量差往往是由于不良習(xí)慣造成的,與人的智力、能力沒有多大關(guān)系,還是有藥可救的。成績越差,可以進(jìn)步的空間就越大,中國不就是在落后中趕超發(fā)達(dá)資本主義國家嗎?只要你能下決心改掉不良的編程習(xí)慣,第二次考試就能及格了。 ( 2)如果你考及格了,表明你的技術(shù)基礎(chǔ)不錯,希望你能虛心學(xué)習(xí)、不斷進(jìn)步。如果你還沒有找到合適的工作單位, 不妨到上海貝爾試一試。 ( 3)如果你考出 85 分以上的好成績,你有義務(wù)和資格為你所在的團(tuán)隊作“ C++/C編程”培訓(xùn)。希望你能和我們多多交流、相互促進(jìn)。半年前我曾經(jīng)發(fā)現(xiàn)一顆好苗子,就把他挖到我們小組來。 ( 4)如果你在沒有任何提示的情況下考了滿分,希望你能收我做你的徒弟。 編程考試結(jié)束后,請閱讀本書的正文。 本書第一章至第六章主要論述 C++/C編程風(fēng)格。難度不高,但是細(xì)節(jié)比較多。別小看了,提高質(zhì)量就是要從這些點(diǎn)點(diǎn)滴滴做起。世上不存在最好的編程風(fēng)格,一切因需求而定。團(tuán)隊開發(fā)講究風(fēng)格一致,如果制定了大家認(rèn)可的 編程風(fēng)格,那么所有組員都要遵守。如果讀者覺得本書的編程風(fēng)格比較合你的工作,那么就采用它,不要只看不做。人在小時候說話發(fā)音不準(zhǔn),寫字潦草,如果不改正,總有后悔的時候。編程也是同樣道理。 第七章至第十一章是專題論述,技術(shù)難度比較高,看書時要積極思考。特別是第七章“內(nèi)存管理”,讀了并不表示懂了,懂了并不表示就能正確使用。有一位同事看了第七章后覺得“野指針”寫得不錯,與我切磋了一把。可是過了兩周,他告訴我,他忙了兩天追查出一個 Bug,想不到又是“野指針”出問題,只好重讀第七章。 光看本書對提高編程質(zhì)量是有限的,建 議大家閱讀本書的參考文獻(xiàn),那些都是經(jīng)典名著。 如果你的編程質(zhì)量已經(jīng)過關(guān)了,不要就此滿足。如果你想成為優(yōu)秀的軟件開發(fā)人員,建議你閱讀并按照 CMMI規(guī)范做事,讓自己的綜合水平上升一個臺階。上海貝爾的員工可以向網(wǎng)絡(luò)應(yīng)用事業(yè)部軟件工程研究小組索取 CMMI 有關(guān)資料,最好能參加培訓(xùn)。 ★ 管理 篇 ★ ( 轉(zhuǎn)載 ) 龍行天下 三、版權(quán)聲明 本書的大部分內(nèi)容取材于作者一年前的書籍手稿(尚未出版),現(xiàn)整理匯編成為上海貝爾網(wǎng)絡(luò)應(yīng)用事業(yè)部的一個規(guī)范化文件,同時作為培訓(xùn)教材。 由于 C++/C編程是眾所周知的技術(shù),沒有秘密可言。編程的好經(jīng)驗應(yīng)該大家共享,我們自 己也是這么學(xué)來的。作者愿意公開本書的電子文檔。 版權(quán)聲明如下: ( 1)讀者可以任意拷貝、修改本書的內(nèi)容,但不可以篡改作者及所屬單位。 ( 2)未經(jīng)作者許可,不得出版或大量印發(fā)本書。 ( 3)如果競爭對手公司的員工得到本書,請勿公開使用,以免發(fā)生糾紛。 預(yù)計到 2020 年 7 月,我們將建立切合中國國情的 CMMI 3 級解決方案。屆時,包括本書在內(nèi)的約 1000頁規(guī)范將嚴(yán)格受控。 歡迎讀者對本書提出批評建議 。 林銳, 2020 年 7 月 ★ 管理 篇 ★ ( 轉(zhuǎn)載 ) 龍行天下 第 1 章 文件結(jié)構(gòu) 每個 C++/C程序通常分為兩個文件。一個文件用于保存程序的 聲明( declaration),稱為頭文件。另一個文件用于保存程序的實現(xiàn)( implementation),稱為定義( definition)文件。 C++/C 程序的頭文件以“ .h”為后綴, C程序的定義文件以“ .c”為后綴, C++程序的定義文件通常以“ .cpp”為后綴(也有一些系統(tǒng)以“ .cc”或“ .cxx”為后綴)。 版權(quán)和版本的聲明 版權(quán)和版本的聲明位于頭文件和定義文件的開頭(參見示例 11),主要內(nèi)容有: ( 1)版權(quán)信息。 ( 2)文件名稱,標(biāo)識符,摘要。 ( 3)當(dāng)前版本號,作者 /修改者,完成日期。 ( 4)版本歷史信息。 /* * Copyright (c) 2020,上海貝爾有限公司網(wǎng)絡(luò)應(yīng)用事業(yè)部 * All rights reserved. * * 文件名稱: * 文件標(biāo)識: 見配置管理計劃書 * 摘 要: 簡要描述本文件的內(nèi)容 * * 當(dāng)前版本: * 作 者: 輸入作者(或修改者)名字 * 完成日期: 2020年 7月 20日 * * 取代版本 : * 原作者 : 輸入原作者(或修改者)名字 * 完成日期: 2020年 5月 10日 */ 示例 11 版權(quán)和版本 的聲明 頭文件的結(jié)構(gòu) 頭文件由三部分內(nèi)容組成: ( 1)頭文件開頭處的版權(quán)和版本聲明(參見示例 11)。 ( 2)預(yù)處理塊。 ( 3)函數(shù)和類結(jié)構(gòu)聲明等。 假設(shè)頭文件名稱為 ,頭文件的結(jié)構(gòu)參 見示例 12。 ? 【規(guī)則 121】 為了防止頭文件被重復(fù)引用,應(yīng)當(dāng)用 ifndef/define/endif 結(jié)構(gòu)產(chǎn)生預(yù)處理塊。 ? 【規(guī)則 122】 用 include 格式來引用標(biāo)準(zhǔn)庫的頭文件(編譯器將從標(biāo)準(zhǔn)庫目錄開始搜 ★ 管理 篇 ★ ( 轉(zhuǎn)載 ) 龍行天下 索)。 ? 【規(guī)則 123】 用 include “” 格式來引用非標(biāo)準(zhǔn)庫的頭文件(編譯器將從用戶的工作目錄開始搜索)。 ? 【建議 121】 頭文件中只存放“聲明”而不存放“定義” 在 C++ 語法中,類的成員函數(shù)可以在聲明的同時被定義,并且自動成為內(nèi)聯(lián)函數(shù)。這雖然會帶來書寫上的方便,但卻造成了風(fēng)格不一致,弊大于利。建議將成員函數(shù)的定義與聲明分開,不論該函數(shù)體有多么小。 ? 【建議 122】 不提倡使用全局變量,盡量不要在頭文件中出現(xiàn)象 extern int value 這類聲明。 // 版權(quán)和版本聲明見示例 11,此處省略。 ifndef GRAPHICS_H // 防止 被重復(fù)引用 define GRAPHICS_H include // 引用標(biāo)準(zhǔn)庫的頭文件 ? include “” // 引用非標(biāo)準(zhǔn)庫的頭文件 ? void Function1(?)。 // 全局函數(shù)聲明 ? class Box // 類結(jié)構(gòu)聲明 { ? }。 endif 示例 12 C++/C 頭文件的結(jié)構(gòu) 定義文件的結(jié)構(gòu) 定義文件有三部分內(nèi)容: ( 1) 定義文件開頭處的版權(quán)和版本聲明(參見示例 11)。 ( 2) 對一些頭文件的引用。 ( 3) 程序的實現(xiàn)體(包括數(shù)據(jù)和代碼)。 假設(shè)定義文件的名稱為 , 定義 文件的結(jié)構(gòu)參 見示例 13。 ★ 管理 篇 ★ ( 轉(zhuǎn)載 ) 龍行天下 // 版權(quán)和版本聲明見示例 11,此處省略。 include “” // 引用頭文件
點(diǎn)擊復(fù)制文檔內(nèi)容
公司管理相關(guān)推薦
文庫吧 www.dybbs8.com
備案圖片鄂ICP備17016276號-1