




已閱讀5頁,還剩3頁未讀, 繼續(xù)免費閱讀
版權說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權,請進行舉報或認領
文檔簡介
周愛民大道至簡 軟件工程實踐者的思想讀書筆記當你熟悉了一門語言之后,你會發(fā)現(xiàn),編程語言只有喜歡與不喜歡的問題,沒有會不會的問題。任何的一門語言,你都可以在兩周內(nèi)掌握并開始熟練編程。因為任何的一門語言,他們的底層函數(shù)庫都是那么的相似,而他們API都是那樣的依賴于操作系統(tǒng)。A語言里有的,B語言里也基本都有。通常而言,語言的差別主要表現(xiàn)在適用范圍上。一些語言適合做數(shù)值處理,小數(shù)點后可以精確到原子級,而小數(shù)點前則可以表達到宇宙之無窮;另一些語言則適合做圖形處理,它的底層函數(shù)庫比其它語言可以快上十倍或數(shù)十倍;還有一些語言則適合于做網(wǎng)頁,要用它來做一個通訊薄軟件都將是史無前人的挑戰(zhàn)。成天討論這門語言好,或者那門語言壞的人,甚至是可悲的。不但是悲其一葉障目,更要悲嘆于那種大愚若智的自得心態(tài)。你仔細看看,在所有的算法描述中,有且僅有三種執(zhí)行邏輯:順序、分支和循環(huán)。簡單若順序表,復雜如樹、圖,它們的算法都是用上面這三種執(zhí)行邏輯來描述的。在沒有工程的時代,出現(xiàn)了非常非常多的人物。其中算法大師,有游戲大師,有語言大師,有掙錢的大師唯獨,沒有工程大師。嗯,可以理解嘛,那是沒有工程的時代。好蠻荒,好遠古的。絕對可以用面向過程的方法來實現(xiàn)任意復雜的系統(tǒng)。要知道,航天飛機也是在面向過程的時代上的天。但是為了使一切變得不是那么復雜,還是出現(xiàn)了面向?qū)ο蟪绦蛟O計的方法。我:倒也不是不可能徹底。有絕對OO的模型,這樣的模型我見過。哈哈但說實在的,我覺得小應用用絕對OO的方式來編寫,有失應用的本意。我們做東西只是要用,而不是研究它用的是什么模型。所以,Hello World也用OO方式實現(xiàn),原本就只是出現(xiàn)在教科書中的Sample罷了。哈哈。Soul:還有不可能用徹底的面向?qū)ο蠓椒▉肀磉_世界。因為這個世界不是面向?qū)ο蟮?。是關系網(wǎng)絡圖,面向?qū)ο笾皇菢?,只能片面的表達世界。所以很多時候面向?qū)ο笕ソ鉀Q問題會非常痛苦。所以編程退到數(shù)據(jù)結構更合理,哈哈。做管理起碼需要能承擔責任,這是最基本的素質(zhì)。史記循吏列傳記載了李離伏劍的故事。春秋時晉國最高司法長官李離,因為過聽殺人,斷獄失誤,把一個不該處死的人錯判了死刑。隨后自拘于廷,請死于君,晉文公欲以其下屬有過為由免他的罪,而李離說:臣居官為長,不與吏讓位;受祿為多,不與下分利。今過聽殺人,傅其罪下吏,非所聞也。隨后拔劍自殺了同樣的道理,你的項目經(jīng)理職位又沒有讓給別人做,你拿的經(jīng)理級工資又沒有分給別人,那項目失敗了,你為什么要把責任推到別人頭上呢?做管理起碼需要能承擔責任,這是最基本的素質(zhì)。三人團隊中的那個領導,不是要程咬金一樣的牛人,而是要李離一樣的死士。項目完成不了,切腦袋的事倒不必做,遞交辭呈的那點勇氣總是要有的這些符號和標識也有個專用名稱,En.這個叫模型語言(ML)。他們無時無刻不在向你展現(xiàn)他們的專業(yè)(這已經(jīng)是他們還存在的唯一原因了)。如果他們更加專業(yè),他們會告訴你他們用的是UML。向你介紹這個名詞的時候,他們的眼鏡或者眼睛里通常將大放異彩。到現(xiàn)在為止,你應該看到,咨詢公司除了把問題搞得更加復雜之外,他們?nèi)匀恍枰鎸ψ钪苯拥膯栴}:與客戶如何交流?他們的解決之道是模型語言。有什么差別嗎?程序員不能要求客戶會C Language,難道需求分析師們就能要求客戶會UML嗎?!溝通的三層障礙第一層不再與你要表達的內(nèi)容,而在于你如何表達,就是不知所云。對于兩個聰明人來說,正確的結論通常只有一個,因此如果出現(xiàn)了爭執(zhí),那么討論的問題一定不是同一個問題。所以我們經(jīng)常會讀到一種文檔,這種文檔沒有前提沒有概要,開始就說我們?nèi)绾巫龌蛘邽槭裁匆@樣做你大概要在翻很多頁之后才能找到一個結論:哦,原來這個家伙在說這件事。通常,如果一件事情正確,那它就是正確的,無論你的分析過程如何,結論也不過如此。所以你應該把結論放在文檔的前邊,把指導性的原則放在更前邊,把事件的前因與目標以概要的形式放在最前邊。一個聰明人只需要200字就可以說完的一件事,同樣另一個聰明人也只需要這200字就能理解。對于一件事來說,起因、目標、結論和原則都已經(jīng)確定了,生下來的過程控制還需要聚室而謀嗎?第二層障礙出現(xiàn)在跟聰明人的討論中,讓人覺得不知所為如果一件事要足夠長的時間才能討論清楚,那么等他討論清楚了,這件事本身也就失去了意義。討論清楚事件A,與實施事件A之間的確是存在前后邏輯的,但如果維持這個邏輯的成本使得A不能被實時,那維持它的前提也就不存在了。除了事件這種溝通成本之外,溝通消耗的人力成本也是關鍵。事情A需要兩個人來溝通與解決,與需要10個人溝通來解決,所消耗的成本顯然是不一樣的,人多不僅僅使得溝通變得更復雜。所以,一個結論是需要在大多數(shù)人之間作出還是只要在一兩個人之間作出,是在一開始就要被確定下來的。用盡可能少的人,在盡可能短的事件內(nèi)作出決定,這是降低溝通成本的關鍵。正因為有了人和事件這些成本因素的制約,所以我們討論清楚再做這個假設可能就會很荒謬。第三層障礙的主要表現(xiàn)是不知急緩解決之道,則是不要把溝通目標設定為讓對方認同在我們的確沒有辦法把一件事討論清楚的時候,就是旁觀的人最重要了。作為管理者,應當去觀察、理解和發(fā)現(xiàn)問題(或者由專人想你匯報)。你要盡量去聽去思考,因為作為這個角色,你總是有機會去糾正問題的。但是,不要急于去糾正-在一個會議上即時某種想法有問題,也絕不是在你發(fā)言的三分鐘里就能糾正的,而是在最后你作出的決策里去糾正的。這種決策通常有兩種:給出明確的答案存而不論看起來然你給出明確答案是職責所在,反過來說,存而不論就似乎是在推卸責任了。但是可能在某些情況下存而不論才是最好的決策。項目經(jīng)理不是理論家,所以并不是一定要把一件事討論清楚才能實作。理論是要以溝通成本為代價的,也可能以犧牲事件本身做代價。因此作為管理者,你應該適時地種終止討論溝通不過是手段,是工具之一種,管理者的目標是項目本身。因此討論不清楚就暫不清楚,讓需要討論的人(而不是整個團隊)繼續(xù)去討論。于你而言,于整體而言,有的異無關宏旨無礙大局,可以存而不論。很多人把問題的本質(zhì)給忘掉了。從最開始,從我們編程開始,我們的目的就是實現(xiàn)一個東西。無論這個東西是小到一個稱手的工具,還是一個大到千萬的工程,我們的目標,都是要實現(xiàn)它。工程只是一種實現(xiàn)的途徑。最初做開發(fā)的前輩們,不用什么工程或者過程,也一樣編出了程序,也一樣解決了問題,也一樣實現(xiàn)了目的。而現(xiàn)如今,我們講工程了,講過程了,講方法了,卻什么都再也做不出來了。不奇怪么?工程被當成了借口,掩蓋了我們做事的真正目的:實現(xiàn)。因此,我們在一個項目中常常聽到說工程要這樣做,或者工程要那樣做,而絕少聽到項目要求這樣做或者客戶的本意是那樣的。這樣的結果是:我們做完了工程(的每一個過程),卻沒有完成項目(的每一個實現(xiàn)目標)。為工程而工程的人,都迷失在項目中了。就象開發(fā)人員迷失在一個技術的細節(jié)上一樣。專注于RUP或者RAD之間的區(qū)別的人,可以把每一個過程的流程圖都畫出來,卻也被這每一個流程給捆綁得死死的,再也沒有掙扎一下的力氣。S公司午餐時間有一個規(guī)定:從11:30到12:10由部門一午餐,從12:10到12:50由部門二午餐,這給員工A帶來了巨大的困擾:他必須學會記住什么時候去吃飯。對于一個要從11:30就開始關注的,在13:30之前必然發(fā)生的、并且將影響到他一下午的肚子是否咕咕響的問題,他不得不從11:30之前就開始留意。他可能選擇盯著看電腦右下角的始終是否準時,也可能寫著煙觀察旁邊的同時是否蠢蠢欲動。當然,對于一個開發(fā)人員來說,有一件事從11:30開始就不能做了:他不能再投入全部經(jīng)歷去開發(fā)。因為專注與一件事,就可能忘掉另一件事:吃飯。他們經(jīng)常說的話是我通常習慣這樣這樣或者是我們以前怎樣怎樣又或者是我原來所在的部門如何如何這總讓我想到一種奇特的動物,一種生活在水里,卻長著肺的魚。經(jīng)驗,是源于對過去的思考,而不是對過去的復制。過去有過輝煌的人,你是來解決問題而不是來分享成功的。千萬不要把自己的經(jīng)驗直接拿到項目中來套。我曾經(jīng)做過我這樣想過對這個問題我思考過了這些言論只能把問題的根苗填實在團隊的縫隙里。應該清楚的是,保障每一次溝通的有效性都是最重要的事情。溝通不是打電話或者請客戶吃飯那樣簡單。你得到的每一次溝通機會,都是向客戶了解更深層次的需求機會,因此最好在見到客戶之前,你就已經(jīng)設計好了所有的問題和提問方式。在很多的時候,我所聽到的溝通,都是一種形式。例如與客戶吃飯或者打回訪電話。其實溝通是具有目的性的,如果在沒有明確目的的情況下與客戶溝通,那將是浪費客戶和自己的時間。這種目的,可以是了解項目的訊息、挖掘潛在的項目最末了,才是交流感情在每一次回顧項目時都應該注意:流于形式的溝通,可能是使得你的項目被不斷推翻和不斷延遲的最直接原因。你不是團隊的腿大凡是做技術出身的管理人員,總有愚公那種本能的實現(xiàn)欲望。如果一一件事自己能做而別人不能做或者做的不好,那么他總恨不得自己去做。但,一方面你根本不可能通過親力親為解決掉團隊行進的問題;而在另一方面,你至少為團隊帶來了一下三重危險一:我必須跑到終點,否則團隊到不了終點,這是每個人的責任,沒人可以替代。你成為團隊的腿,將使成員質(zhì)疑自己的價值和能力,也忘卻自己的責任。助長團隊惰性,原來的執(zhí)行曾變得效率地下,而管理層將疲于奔命。二:成員將失去在解決問題過程中學習的機會。三:對于一個人而言,成功的激勵遠遠大于其它,一個從來沒有享受過登頂樂趣的人,一定不會喜歡登山。你幫他跑到終點,實際上也是剝奪了他作為團隊成員來分享成功的權利。讓一個人總是去做沒有成就感的工作,他將漸而生厭,你也無異于自毀長城。對于一個團隊來說解決掉一個技術問題遠遠比團隊的整體行進次要。因此你不要沖在前面披荊斬棘-把這個事情交給技術經(jīng)理去做,或者教而習之,由成員自己去做。夫戰(zhàn),勇氣也,一鼓作氣,再而衰,三而竭振奮士氣這件事情,經(jīng)不起一再空耗即使所有的討論結果都傾向于對這名員工的否定,你仍然可以給出一個機會來讓這名員工去自我證明,這種機會可能只是幾小時或者一兩天的技術探索。這種情況下,如果他能證明他的正確,那他會感激這次機會。如果結論是他錯了,你無形間樹立了自己的威信,這件事,直說不是不行的問題其實就是你期望的東西和你體驗的東西之間的差別。猿猴之為人,學會制作和使用工具是最重要的標志。因為我不知道語言只是工具這句話,究竟是對語言的膜拜,還是漠視。如同工程與編程,單以編程而論,講究技法之精妙,追求細節(jié)與枝節(jié)是可以的;但對于工程來說,能讓團隊理解、統(tǒng)一執(zhí)行、迅速有效的實戰(zhàn)技法,才是真實所需的。就如陳康肅公,有當世無二之技,不能用于群站,也是無益。因此,我們最終看到擁有利器巧技的六國都不在了,最后只剩下一個強秦統(tǒng)一了天下。對于管理者來說,重要的并不是讓大家都關注工程的每一個方面。工程管理者應當認識到開發(fā)人員的工匠思想的本質(zhì),并且善用之。在很多公司看來當官可能是對員工的最大激勵。然而深處官場的人又如何能夠理解技術人員的思想呢?其實很多的開發(fā)人員,無非是追求更寬松的工作環(huán)境,更好的學術研究分為。換而言之,他們跟地上就是關注于工具與技法的。公司應當給出員工在技術方向上的發(fā)展路線很多大公司在這一點上做的不錯。他們把技術職級與管理職級分開。對于開發(fā)人員來說,吸引他的是無限的開發(fā)空間。例如當初微軟打算用三百萬年薪和數(shù)萬股股票從BorLand挖走Anders Hejlsberg,未果。后來,蓋茨提出給他一個小組和極多的資源,然他盡情地發(fā)揮,他這才動心,從此就有了VS.NET我開始了解Interface之后,才真正有了軟件設計的觀念。而一旦有了軟件設計的觀念,實現(xiàn)的過程就變得越來越不重要。真正做工程的人,只是簡單地說:不平,刨之,不直,斗之。至于刨和斗是不是某個思想家,理論家或者實踐家來發(fā)明的,與用不用他,沒有關系。然而大多數(shù)人不會贊同你把工具拿來換個方式用。但我如今看來,這個工具的樣子是不是刨或者斗都不再重要,只要能完成所需要做的事情就行了。例如我現(xiàn)在.有時候甚至會用PowerPoint來寫代碼,例如要表達一種動態(tài)的UI效果,我可以用Delphi IDE加一些組件,并寫代碼來完成,也可以用PPT的動畫效果來做,而我通常會選擇后者。無所謂是什么,只在乎他能不能用。一個工具無比強悍,但你可能只用它來輸入幾行代碼。那么你輸入這行代碼就可以了,關注它那些強悍的功能干什么呢?于某時干某事,使用的就是最好的。前提是你要有看明白這些工具的實質(zhì)的能力。只要能夠分辨出所需的部分,適度地用在你的工程中,就可以了。何必把它看作救世良藥,一味傳道布道做信徒狀呢。工具被如何設計的本質(zhì),就是為了應對不停變化的需求。而被重新設計的工具,又產(chǎn)生了新的用法。所以追根溯源,工匠們的思想,就都被禁錮在這生生不息的變化的需求中了。工具也因為這個過程而變得越來越復雜,似有萬般功用。然而對于確定的項目來講,只有對這個項目有用的那些功能,才是這個工具的價值所在。靈活的軟件工程并不象現(xiàn)代人想見的那樣,古詩詞一定是逐字論平仄的。變化或者變通,其實是常見之事。因此古詞譜中,才常會見到冠以攤破、減字、添字等字的詞格。然則古人在詞格上的這種變通,是基于音律的。通常說的詞律是指詞格,這與音律是兩回事。詞律(格)是平仄,音律則是樂器、音調(diào)與歌舞。古詞中用來吟唱與歌舞的詞牌就不能混用,律不同,調(diào)不同,如是之。注古人做詞的變格,勢必依音律而為之,舍周邦彥、東坡、辛棄疾此等人物,輕易變格,是為他人所笑話的。所以,詞譜中所錄變格既少,且俱為名家所創(chuàng)。然而古詞的音律(亦即是律譜)已經(jīng)失傳了,也就是說,今天的詞是用來讀的,不是唱,也不是舞,甚至連吟哦也不是。所以今人總是拿普通話中的1、2聲作為平聲,3、4聲為仄聲來填詞,并以此論平仄,而全然不想詞的格律的根基是詞律與音律這兩個部分的融合。我曾經(jīng)參與過一個討論,叫古人是如何說話的。在我看來,古人做文章和說話是兩回事,文章中之乎者也,日常交流中還是市井俚語的。因此評論中會說以俚語入詞。也可見填詞作文章與說話畢竟是不同。再者說話也存在方言的問題,因此方言之間平仄音調(diào)也當不同。古代的歌妓是要求會官話的,這相當于現(xiàn)在普通話的地位,她們歌唱起來,也是用的官話。更進一步的推論是:古代的詞律中的平仄是以官
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
- 4. 未經(jīng)權益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
- 6. 下載文件中如有侵權或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- 個人工作效率統(tǒng)計表格模板(銷售人員)
- 全等三角形的判定-角邊角課件
- 分數(shù)與除法的關系
- 醫(yī)院臨床醫(yī)院感染管理小組工作手冊
- 黃藍扁平風入職培訓模板
- 領導力發(fā)展領導團隊的藝術
- 音樂節(jié)活動的視覺藝術顏色設計與流行元素融合
- 顧客情感在新零售中的影響與策略
- 非遺文化在小學德育課程中的融入與實踐
- 顧客體驗為核心的新零售辦公用品營銷
- 《數(shù)據(jù)分析與可視化綜合實驗》課件
- 集體樹木伐木合同協(xié)議
- 2024-2030全球旅行用便攜式WiFi熱點行業(yè)調(diào)研及趨勢分析報告
- 2024年全球及中國LTE Cat 1無線通信模組行業(yè)頭部企業(yè)市場占有率及排名調(diào)研報告
- 鋰電池倉庫管理要求
- 抽動癥護理查房
- 江蘇徐州歷年中考作文題與審題指導(2002-2023)
- 2025-2030海洋能源發(fā)電行業(yè)發(fā)展分析及投資戰(zhàn)略研究報告
- 2025-2030中國病理診斷行業(yè)市場發(fā)展分析及前景趨勢與投資研究報告
- 2023年上海市普通高中學業(yè)水平合格性考試物理試題(含答案)
- 杭州市拱墅區(qū)2024-2025學年數(shù)學五下期末統(tǒng)考試題含答案
評論
0/150
提交評論