程序員的職業(yè)素養(yǎng)

出版時(shí)間:2012-9  出版社:人民郵電出版社  作者:Robert C.Martin  頁(yè)數(shù):178  譯者:章顯洲,余晟  
Tag標(biāo)簽:無(wú)  

前言

1986年1月28日,美國(guó)東部時(shí)間上午11:39,“挑戰(zhàn)者”號(hào)航天飛機(jī)在發(fā)射僅73.124秒后,因右側(cè)固體火箭推進(jìn)器的故障,在4.8萬(wàn)英尺的高空化成碎片。七名航天勇士魂斷蒼穹,其中包括高中教師克麗斯塔·麥考利芙。麥考利芙的母親親眼目睹女兒在九英里高空中不幸罹難,彼時(shí)彼刻她臉上的表情,至今印刻在我的心頭無(wú)法拂去。挑戰(zhàn)者號(hào)之所以解體,是由于高熱氣體從出現(xiàn)故障的固體火箭推進(jìn)器的外殼接縫處泄露出來(lái),噴到外部燃料艙體上。主液氫燃料艙底部發(fā)生爆炸,液氫被點(diǎn)燃,并將液氫燃料推入上方的液氧燃料艙中。與此同時(shí),固體火箭推進(jìn)器從下支架脫落,開(kāi)始繞上支架滾動(dòng)。推進(jìn)器的機(jī)頭捅破了液氧艙。整個(gè)飛行器因異常受力,逆向氣流旋轉(zhuǎn),但同時(shí)仍然以1.5馬赫的速度飛行。在巨大的過(guò)載下,挑戰(zhàn)者號(hào)迅速被撕成碎片。在火箭推進(jìn)器的圓形接縫處,有兩個(gè)由合成橡膠制成的同心密封圈。當(dāng)殼體通過(guò)螺栓連接在一起時(shí),密封圈被壓縮,起到密封作用,確保氣體不會(huì)從接縫處逸出。但在發(fā)射前夜,發(fā)射臺(tái)氣溫降到了17華氏度 ,比密封圈的最低承限溫度低了23度,比以往發(fā)射氣溫低了33度。這個(gè)氣溫下的密封圈已經(jīng)硬得失去了彈性,無(wú)法很好地密封高熱氣體。推進(jìn)器點(diǎn)火后,高熱氣體迅速累積,對(duì)殼腔形成了瞬間壓力脈沖。助推器殼體向外膨脹開(kāi)來(lái),密封圈受到的壓力變小。硬化的密封圈無(wú)法保持密封,一些高熱氣體就泄漏出來(lái),并且將密封圈中70多度的弧形范圍都?xì)饣恕TO(shè)計(jì)了推進(jìn)器的莫頓·賽奧科公司的工程師事前已經(jīng)知道密封圈有問(wèn)題,并早在7年前就已經(jīng)將這些問(wèn)題報(bào)告給莫頓·賽奧科公司和美國(guó)宇航局的管理人員。事實(shí)上,在以前的發(fā)射中,密封圈就曾發(fā)生過(guò)類似的損壞,只是沒(méi)有引發(fā)災(zāi)難而已。發(fā)射氣溫越低,后果就越嚴(yán)重。工程師們已經(jīng)針對(duì)該問(wèn)題設(shè)計(jì)了一個(gè)修復(fù)方案,但修復(fù)方案卻遲遲未得以實(shí)施。工程師們知道密封圈在低溫的時(shí)候會(huì)硬化。也知道挑戰(zhàn)者號(hào)發(fā)射時(shí)的氣溫比以往任何一次發(fā)射時(shí)的都要低,遠(yuǎn)低于紅色警戒線。簡(jiǎn)而言之,這次發(fā)射的風(fēng)險(xiǎn)太高了,他們不能對(duì)危險(xiǎn)視而不見(jiàn)。于是他們寫了備忘錄,發(fā)出高危預(yù)警信號(hào)。他們強(qiáng)烈要求賽奧科公司和美國(guó)宇航局的管理人員們?nèi)∠舜伟l(fā)射任務(wù)。在臨發(fā)射數(shù)小時(shí)前所開(kāi)的緊急會(huì)議上,這些工程師展示了最有說(shuō)服力的數(shù)據(jù)。他們擺事實(shí),講道理,軟硬兼施,拒不執(zhí)行這次發(fā)射任務(wù)。但最后,管理人員們對(duì)此還是無(wú)動(dòng)于衷。發(fā)射時(shí),一些工程師不忍觀看現(xiàn)場(chǎng)直播,因?yàn)樗麄儞?dān)心發(fā)射臺(tái)上會(huì)發(fā)生爆炸慘劇。但是,隨著挑戰(zhàn)者號(hào)優(yōu)雅升空,他們開(kāi)始有點(diǎn)放松下來(lái)了。就在挑戰(zhàn)者號(hào)解體前的瞬間,看著飛行器已經(jīng)邁過(guò)1馬赫的關(guān)口時(shí),一位工程師還說(shuō)他們已經(jīng)“躲過(guò)一劫”。管理人員們聽(tīng)不進(jìn)去工程師們的抗議,也不看備忘錄,更沒(méi)有命懸一線的危急感。他們認(rèn)為自己更了解情況,認(rèn)為工程師們小題大做了,他們不相信工程師們的數(shù)據(jù)和結(jié)論。他們之所以進(jìn)行這次發(fā)射任務(wù),是因?yàn)槊媾R著很大的財(cái)務(wù)和政治壓力。他們對(duì)此心存僥幸,希望一切都能平安無(wú)事。這些管理人員不只是愚蠢至極,他們是在草菅人命。他們以為自己才是專家,他們的恐懼、希望和直覺(jué)才是準(zhǔn)的。恰恰是因?yàn)樗麄兊淖砸詾槭牵呙麅?yōu)秀宇航員的生命以及一代人對(duì)太空旅行的夢(mèng)想,都在那個(gè)寒冷的早晨一起灰飛煙滅了。他們篡奪了真正了解情況的工程師們的權(quán)力。而那些工程師呢?當(dāng)然,工程師做了他們應(yīng)該做的事情。他們通知了管理人員,并且極力捍衛(wèi)自身立場(chǎng)。他們經(jīng)由適當(dāng)?shù)那?,調(diào)用了所有合適的溝通協(xié)議。他們做了在體系內(nèi)力所能及的事情,只是最后不得不聽(tīng)從領(lǐng)導(dǎo)的決定。因此,看起來(lái)工程師可以毫無(wú)愧意地置身事外了。但是,我不知道那些工程師之中,是否有人會(huì)躺在床上夜不能寐,眼前浮現(xiàn)克麗斯塔·麥考利芙母親臉上的慘痛表情,為之前沒(méi)有給丹·拉瑟 打電話而悔恨不已。關(guān)于本書這本書主要闡述軟件開(kāi)發(fā)者的專業(yè)精神。書中包含了許多實(shí)務(wù)性的意見(jiàn),試圖回答諸如以下的問(wèn)題:· 什么是軟件專業(yè)人士?· 軟件專業(yè)人士如何行事?· 軟件專業(yè)人士如何處理沖突,應(yīng)對(duì)很緊的工期,如何和不切實(shí)際的管理人員打交道?· 軟件專業(yè)人士何時(shí)應(yīng)該說(shuō)“不”?怎么說(shuō)?· 軟件專業(yè)人士如何應(yīng)對(duì)壓力?你還會(huì)發(fā)現(xiàn),在本書的實(shí)務(wù)性意見(jiàn)背后,隱隱體現(xiàn)出一種奮力突破的積極態(tài)度。這種態(tài)度提倡要誠(chéng)信,要富有榮譽(yù)感、自尊心和自豪感,要勇于承擔(dān)作為一名手藝人和工程師所肩負(fù)的重大責(zé)任。這種責(zé)任包括要努力工作,出色完成任務(wù);要擅于溝通,能夠就事論事;要管理好時(shí)間,能夠坦然面對(duì)艱難的“風(fēng)險(xiǎn)回報(bào)”決策。除此之外,這種責(zé)任之中還包括神圣的使命感。身為一名工程師,你比任何管理者可能都了解得更透徹。了解這些也意味著你肩負(fù)著要敢于行動(dòng)的重大責(zé)任。參考文獻(xiàn)[McConnell87]:Malcolm McConnell, Challenger “A Major Malfunction”, New York, NY: Simon & Schuster, 1987[Wiki-Challenger]:“Space Shuttle Challenger disaster,”http://en.wikipedia.org/ wiki/Space_Shuttle_Challenger_disaster

內(nèi)容概要

  《程序員的職業(yè)素養(yǎng)》是編程大師Bob大叔40余年編程生涯的心得體會(huì), 講解成為真正專業(yè)的程序員需要什么樣的態(tài)度、原則,需要采取什么樣的行動(dòng)。作者以自己以及身邊的同事走過(guò)的彎路、犯過(guò)的錯(cuò)誤為例,意在為后來(lái)人引路,助其職業(yè)生涯邁上更高臺(tái)階?!  冻绦騿T的職業(yè)素養(yǎng)》適合所有程序員,也可供所有想成為具備職業(yè)素養(yǎng)的職場(chǎng)人士參考。

作者簡(jiǎn)介

Robert C. Martin是軟件工程領(lǐng)域的大師級(jí)人物,設(shè)計(jì)模式和敏捷開(kāi)發(fā)運(yùn)動(dòng)的主要倡導(dǎo)者之一,曾經(jīng)擔(dān)任C++ Report雜志主編多年。Robert C. Martin的Agile Software Development: Principles, Patterns, and Practices一書曾榮獲Jolt大獎(jiǎng)。

書籍目錄

第1章 專業(yè)主義 1.1 清楚你要什么 1.2 擔(dān)當(dāng)責(zé)任 1.3 首先,不行損害之事 1.3.1 不要破壞軟件功能 1.3.2 不要破壞結(jié)構(gòu) 1.4 職業(yè)道德 1.4.1 了解你的領(lǐng)域 1.4.2 堅(jiān)持學(xué)習(xí) 1.4.3 練習(xí) 1.4.4 合作 1.4.5 輔導(dǎo) 1.4.6 了解業(yè)務(wù)領(lǐng)域 1.4.7 與雇主/客戶保持一致 1.4.8 謙遜 1.5 參考文獻(xiàn) 第2章 說(shuō)“不” 2.1對(duì)抗角色 2.2高風(fēng)險(xiǎn)時(shí)刻 2.3要有團(tuán)隊(duì)精神 2.3.1試試看 2.3.2消極對(duì)抗 2.4說(shuō)“是”的成本 2.5如何寫出好代碼 第3章說(shuō)“是” 3.1承諾用語(yǔ) 3.1.1識(shí)別“缺乏承諾”的征兆 3.1.2真正的承諾聽(tīng)起來(lái)是怎樣的 3.1.3 總結(jié) 3.2學(xué)習(xí)如何說(shuō)“是” 3.2.1 “試試”的另一面 3.2.2 堅(jiān)守原則 3.3結(jié)論 第4章編碼 4.1做好準(zhǔn)備 4.1.1 凌晨3點(diǎn)寫出的代碼 4.1.2焦慮時(shí)寫下的代碼 4.2流態(tài)區(qū) 4.2.1 音樂(lè) 4.2.2 中斷 4.3 阻塞 4.4調(diào)試 4.5保持節(jié)奏 4.5.1知道何時(shí)應(yīng)該離開(kāi)一會(huì) 4.5.2開(kāi)車回家路上 4.5.3 洗澡 4.6進(jìn)度延遲 4.6.1期望 4.6.2盲目沖刺 4.6.3加班加點(diǎn) 4.6.4交付失誤 4.6.5定義“完成” 4.7幫助 4.7.1幫助他人 4.7.2接受他人的幫助 4.7.3 輔導(dǎo) 4.8參考文獻(xiàn) 第5章測(cè)試驅(qū)動(dòng)開(kāi)發(fā) 5.1此事已有定論 5.2 TDD的三項(xiàng)法則 5.3 TDD的優(yōu)勢(shì) 5.3.1 確定性 5.3.2缺陷注入率 5.3.3 勇氣 5.3.4 文檔 5.3.5設(shè)計(jì) 5.3.6、專業(yè)人士的選擇 5.4 TDD的局限 5.5參考文獻(xiàn) 第6章練習(xí) 6.1 引子 6.1.1 10的22次方 6.1.2轉(zhuǎn)變 6.2編程柔道場(chǎng) 6.2.1 卡塔 6.2.2瓦薩 6.2.3 自由練習(xí) 6.3 自身經(jīng)驗(yàn)的拓展 6.3.1 開(kāi)源 6.3.2 關(guān)于練習(xí)的職業(yè)道德 6.4結(jié)論 6.5參考文獻(xiàn) 第7章驗(yàn)收測(cè)試 7.1需求的溝通 7.1.1過(guò)早精細(xì)化 7.1.2遲來(lái)的模糊性 7.2驗(yàn)收測(cè)試 7.2.1 “完成”的定義 7.2.2 溝通 7.2.3 自動(dòng)化 7.2.4額外工作 7.2.5驗(yàn)收測(cè)試什么時(shí)候?qū)懀烧l(shuí)來(lái)寫 7.2.6開(kāi)發(fā)人員的角色 7.2.7測(cè)試的協(xié)商與被動(dòng)推進(jìn) 7.2.8驗(yàn)收測(cè)試和單元測(cè)試 7.2.9 圖形界面及其他復(fù)雜因素 7.2.10持續(xù)集成 7.3結(jié)論 第8章測(cè)試策略 8.1 QA應(yīng)該找不到任何錯(cuò)誤 8.1.1 QA也是團(tuán)隊(duì)的一部分 8.1.2需求規(guī)約定義者 8.1.3特性描述者 8.2自動(dòng)化測(cè)試金字塔 8.2.1 單元測(cè)試 8.2.2組件測(cè)試 8.2.3集成測(cè)試 8.2.4 系統(tǒng)溺4試 8.2.5人工探索式測(cè)試 8.3結(jié)論 8.4參考文獻(xiàn) 第9章時(shí)間管理 9.1 會(huì)議 9.1.1拒絕 9.1.2 離席 9.1.3確定議程與目標(biāo) 9.1.4立會(huì) 9.1.5迭代計(jì)劃會(huì)議 9.1.6迭代回顧和DEM0展示 9.1.7爭(zhēng)論/反對(duì) 9.2注意力點(diǎn)數(shù) 9.2.1 睡眠 9.2.2咖啡因 9.2.3恢復(fù) 9.2.4肌肉注意力 …… 第10章 預(yù)估 第11章 壓力 第12章 協(xié)作 第13章 團(tuán)隊(duì)與項(xiàng)目 第14章 輔導(dǎo)、學(xué)徒期與技藝 附錄 工具

章節(jié)摘錄

版權(quán)頁(yè):   插圖:   這些終端由中斷驅(qū)動(dòng)。發(fā)送給終端的字符先保存在循環(huán)緩沖中。串Vl每發(fā)送完畢一個(gè)字符,便會(huì)釋放一個(gè)中斷信號(hào),然后循環(huán)緩沖中的下一個(gè)字符便做好發(fā)送準(zhǔn)備。 最后我們發(fā)現(xiàn),終端僵死是由于管理循環(huán)緩沖的三個(gè)變量出現(xiàn)同步異常。不知道為什么會(huì)發(fā)生這種現(xiàn)象,但這至少是一個(gè)線索。在5千多行的監(jiān)管代碼中肯定有個(gè)bug,誤操作了這些指針中的一個(gè)。 這個(gè)新發(fā)現(xiàn)也使得我們能夠手工解除終端的僵死情況!我們可以使用檢查器,將這三個(gè)變量重置為默認(rèn)值,這時(shí)本來(lái)僵死的終端便會(huì)奇跡般地復(fù)活。最后我們寫了一個(gè)小工具來(lái)檢查所有的計(jì)數(shù)器是否一致,當(dāng)發(fā)現(xiàn)不一致時(shí)便進(jìn)行修復(fù)。一開(kāi)始,當(dāng)卡車司機(jī)工會(huì)的人打電話向我們報(bào)告說(shuō)發(fā)生僵死情況時(shí),我們會(huì)通過(guò)在前面板上敲擊一個(gè)特定的“用戶中斷開(kāi)關(guān)”來(lái)調(diào)用這個(gè)工具。后來(lái),我們把這個(gè)工具改為每一秒自動(dòng)跑一次。 差不多一個(gè)月后,僵死的問(wèn)題不再出現(xiàn),卡車司機(jī)工會(huì)的人終于可以專心工作了。偶爾某個(gè)終端會(huì)停滯半秒鐘,但是系統(tǒng)的基礎(chǔ)速度只有每秒30個(gè)字符,似乎沒(méi)人注意到這個(gè)情況。 但是,為什么會(huì)出現(xiàn)計(jì)數(shù)器不一致的情況呢?那時(shí)剛好19歲的我決心要一探究竟。 監(jiān)管代碼此前是由Richard編寫的,他當(dāng)時(shí)已經(jīng)離開(kāi)公司去學(xué)校讀書了。我們其他人沒(méi)人熟悉那部分代碼,因?yàn)橹癛ichard把那部分代碼捂得死死的。那代碼屬于他,別人不能碰。但是現(xiàn)在Richard已經(jīng)離職了,我便能扒開(kāi)厚厚一摞代碼清單,逐頁(yè)細(xì)看。 系統(tǒng)中的循環(huán)隊(duì)列使用的就是一個(gè)先進(jìn)先出的數(shù)據(jù)結(jié)構(gòu),是的,也就是隊(duì)列。應(yīng)用程序會(huì)在隊(duì)列的一端推入字符,直到隊(duì)列滿。當(dāng)打印機(jī)已經(jīng)準(zhǔn)備好時(shí),中斷頭會(huì)將隊(duì)列另一端的字符彈出。當(dāng)隊(duì)列空的時(shí)候,打印機(jī)會(huì)停止工作。存在的bug會(huì)導(dǎo)致應(yīng)用程序以為隊(duì)列已滿,但中斷頭卻以為隊(duì)列是空的。 中斷頭是在和其他代碼不同的“線程”中運(yùn)行的。因此,必須對(duì)中斷頭和其他代碼都可以進(jìn)行操作的計(jì)數(shù)器與變量做好保護(hù),以防止發(fā)生同步更新操作。在這個(gè)案例中則意味著,任何其他代碼在操作這三個(gè)變量前,必須先關(guān)閉中斷。坐下來(lái)翻查代碼時(shí),我知道我要搜索的是那些在代碼中觸及了這些變量但卻沒(méi)有事先關(guān)閉中斷的地方。 換做現(xiàn)在,搜尋的時(shí)候我們當(dāng)然會(huì)使用各種強(qiáng)大的工具,找出代碼中涉及這些變量的全部地方。幾秒鐘內(nèi)便可以知道觸及它們的每行代碼。在幾分鐘內(nèi),我們便可以知道哪些代碼沒(méi)有事先關(guān)閉中斷。但是那是1972年,那時(shí)我手上沒(méi)有任何類似的工具可供使用,只能靠一雙眼睛。

媒體關(guān)注與評(píng)論

“毫無(wú)疑問(wèn),Bob大叔的這本新作又一次抬高了專業(yè)程序員的門檻。在書中,他從交互管理、時(shí)間管理、壓力管理、合作方法以及工具選擇等諸多方面,闡述了他對(duì)一名專業(yè)程序員的期望。Bob并不囿于對(duì)TDD和ATDD的傳授,他不僅解釋了每一名自視為專業(yè)人士的程序員所需要知道的東西,而且指出了他們需要在歷練尚淺的軟件開(kāi)發(fā)職業(yè)生涯中需要不斷精進(jìn)的內(nèi)容。”—— Markus G·rtner,it-agile公司資深軟件開(kāi)發(fā)者“有一些技術(shù)書頗具啟發(fā)和教益,有一些則讀來(lái)輕松喜悅且富有趣味,但很少有技術(shù)書籍能夠同時(shí)兼具所有這四個(gè)特色。我感覺(jué)Martin所有的書都可歸入此列。本書也不例外。 閱讀、學(xué)習(xí)和守持書中的教誨,你將可以信心滿滿地把自己訓(xùn)練為軟件專業(yè)人士。”——George Bullock,微軟公司資深程序經(jīng)理“如果計(jì)算機(jī)科學(xué)學(xué)位要求有‘畢業(yè)后必讀書單’,本書當(dāng)在其列。在現(xiàn)實(shí)的職業(yè)生涯中,糟糕的代碼不會(huì)因?qū)W期結(jié)束就此消失,程序員也不會(huì)因加班加點(diǎn)開(kāi)夜車編碼便可獲得A級(jí)評(píng)分,而雪上加霜的是,你還必須抽出精力與人打交道。就算你是個(gè)編程高手,也并不一定就可以稱為專業(yè)人士。本書描述了邁向?qū)I(yè)程序員的修煉旅程……而且閱讀起來(lái)確實(shí)異常有趣。”——Jeff Overvey,伊利諾伊大學(xué)厄本那-香檳分校“本書遠(yuǎn)不只是給出了一套規(guī)則或指導(dǎo)方針,它還包含了無(wú)數(shù)來(lái)之不易的智慧和知識(shí),這些寶貴財(cái)富通常只有經(jīng)歷過(guò)多年的試錯(cuò),歷經(jīng)由初級(jí)學(xué)徒修煉成為大師級(jí)工匠的整個(gè)過(guò)程才能獲得。如果你期望自己能成為軟件專業(yè)人士,那么本書不容錯(cuò)過(guò)。”——R.L. Bogetti·,Baxter Healthcare公司系統(tǒng)主設(shè)計(jì)師

編輯推薦

《程序員的職業(yè)素養(yǎng)》是編程大師 Robert C. Martin40余年編程生涯的心得體會(huì), 講解成為真正專業(yè)的程序員需要什么樣的態(tài)度、原則,需要采取什么樣的行動(dòng)。Robert C. Martin以自己以及身邊的同事走過(guò)的彎路、犯過(guò)的錯(cuò)誤為例,意在為后來(lái)人引路,助其職業(yè)生涯邁上更高臺(tái)階。

名人推薦

Bob大叔的這本新作又一次抬高了專業(yè)程序員的門檻,指出了他們需要在歷練尚淺的軟件開(kāi)發(fā)職業(yè)生涯中需要不斷精進(jìn)的內(nèi)容。——Markus Gartner,it-agile公司資深軟件開(kāi)發(fā)者有一些技術(shù)書頗具啟發(fā)與教益,有一些則讀來(lái)輕松喜悅且富有趣味,但很少有技術(shù)書籍能夠同時(shí)兼具所有這四個(gè)特色。我感覺(jué)Martin所有的書都可歸入此列。——George Bullock,微軟公司資深程序經(jīng)理如果計(jì)算機(jī)科學(xué)學(xué)位要求有“畢業(yè)后必讀書單”,本書當(dāng)在其列。本書描述了邁向?qū)I(yè)程序員的修煉旅程……而且閱讀起來(lái)確實(shí)異常有趣?!狫eff Overvey,伊利諾伊大學(xué)厄本那-香檳分校如果你期望自己能成為軟件專業(yè)人士,那么本書不容錯(cuò)過(guò)?!猂.L.Bogetti,Baxter Healthcare公司系統(tǒng)主設(shè)計(jì)師

圖書封面

圖書標(biāo)簽Tags

無(wú)

評(píng)論、評(píng)分、閱讀與下載


    程序員的職業(yè)素養(yǎng) PDF格式下載


用戶評(píng)論 (總計(jì)15條)

 
 

  •   作者寫的是不錯(cuò),但僅限于他在美國(guó)的環(huán)境,國(guó)內(nèi)目前的環(huán)境按照他說(shuō)的去做,恐怕處處得罪領(lǐng)導(dǎo)
  •   內(nèi)容很喜歡,而且看起來(lái)是正版。很不錯(cuò)
  •   外國(guó)人寫書的思路跟國(guó)人不太一樣哦~
  •   適合休閑輕松的環(huán)境閱讀。能有多少收獲和感悟,全看自己~
  •   很多使用的東西,不只是技術(shù),更是為人處事的藝術(shù)
  •   光看目錄,我就覺(jué)得值得我一讀了。+++++++++++++上星期天看完第一遍了,獲益良多,接著要進(jìn)行第二輪了,爭(zhēng)取消化團(tuán)隊(duì)方面的思想,目前急需這方面的營(yíng)養(yǎng),如果你也有同等需求,推薦買本看看
  •   做技術(shù)的人都該看看。
  •   修煉內(nèi)功必看的書籍。
  •   如題,非常值得一讀。
  •   放在公司書柜,大家看了!
  •   比較實(shí)用,就是貴了點(diǎn),然后有些可能不符合國(guó)情
  •   不是一本技術(shù)書籍,非常通俗易懂。從專業(yè)的角度,講述該如何去使用技術(shù)。也講述了許多有趣的故事。推薦所有程序員參讀。
  •   期望太高了,比預(yù)想的內(nèi)容少些
  •   程序員的職業(yè)素養(yǎng)
  •   我是一個(gè)程序員 哈哈
 

250萬(wàn)本中文圖書簡(jiǎn)介、評(píng)論、評(píng)分,PDF格式免費(fèi)下載。 第一圖書網(wǎng) 手機(jī)版

京ICP備13047387號(hào)-7