現代軟體工程 第三章 練習與討論

來源:互聯網
上載者:User

標籤:http   width   art   io   問題   代碼   

1  選哪一種醫生?

作為一個軟體工程師, 你覺得自己表現如何? 有沒有這樣的體會:

看書的時候覺得“技止此耳”,開發項目的時候才覺得實際情況和書上講的都有一些出入,一些重要的細節書上沒有提。我們很多人是邊看Asp.net的書, 邊開發Asp.net 的項目,這相當於一邊看醫學書一邊動手術……

如果你是病人,你希望你的醫生是下面的哪一種呢?

a)     剛剛在書上看到你的病例, 開刀的過程中非常認真嚴謹, 時不時還要停下來翻書看看……

b)    富有創新意識, 開刀時突然想到一個新技術、 新的刀法,  然後馬上在你身上實驗……

c)     已經處理過很多類似的病例, 可以一邊給你開刀, 一邊和護士聊天說昨天晚上的 《非誠勿擾》花絮……

d)    此醫生無正式文憑或正式醫院的認證, 但是號稱有秘方, 可治百病。

事實上,很多軟體項目就是用 a)或者 b) 這樣的方法搞出來的。當然也有一些人走 d) 這條路。

討論: ① 你要選哪種類型的醫生?② 醫生、藥劑師、律師和很多行業都有職業考試和職業認證,軟體工程師需要有正式的職業認證才能上崗麼? 請參考Steve McConnell 的觀點[i]。

2  工程還是藝術

軟體開發是一門工程(Engineering),  是一門藝術(Art),還是一門手藝(Craftmanship)? 你如何衡量藝術家? 如何衡量創造能力?

如果是一門工程, 那工程師要守規矩; 如果是一門藝術, 那藝術家要創新。

  • 寫詩歌最多的人是誰?
  • 最有創造力的詩人是誰?

一些最有影響力的作家,他們的作品都非常少,甚至只有一本,例如:

  • 《飄》 (Gone with the Wind) 作者 Margaret Mitchell[ii]
  • 《紅樓夢》,作者曹雪芹(這一本據說都沒寫完!)

另外,優秀的作品往往並不符合所有“好”的標準。例如,找出下面這首詞中重複的字:

念奴嬌 · 赤壁懷古  - 蘇軾

大江東去,浪淘盡,
千古風流人物。
故壘西邊,人道是,三國周郎赤壁。
亂石崩雲,驚濤裂岸,捲起千堆雪。
江山如畫,一時多少豪傑。

遙想公謹當年,小喬初嫁了。
羽扇綸巾,談笑間,檣櫓灰飛煙滅。
故國神遊,多情應笑我,早生華髮。
人生如夢,一樽還酹江月。

出現了三遍的字有: 江,人;   出現了兩遍的字有: 國,生,千,故,如。這符合“好詞”的標準嗎?

南宋人俞文豹評價道:

今人看人文字,未論其大體如何,先且指點重字。

軟體設計工程師們在做代碼複審的時候,是看“重複字”的多少, 還是程式的藝術性?

這個問題的另一個側面是,在中國,一個成名的歌唱家往往出現在各種場合,演唱她當年成名的作品,觀眾們往往顯得百聽不厭。一個軟體工程師就不能這樣,在舞台上展現他當年寫的“hello world” 程式,或者是1.0 的產品。為啥有這樣的區別呢?

3  絞刑架和職業發展

移山公司的人力資源總監給同學們做了職業發展的演講,大意是隨著軟體工具和軟體工程理論的發展,開發軟體將會越來越容易,軟體企業的水平都是CMMi4級以上。軟體白領的生活指日可待,金領也不是夢,大家前途無可限量,學軟體工程的同學越來越多,就是明證。大家紛紛鼓掌。最後他分享了一個故事:

兩個劫匪在亡命的路上看到一副絞刑架,劫匪小弟說,大哥,如果這世界上沒有絞刑架,咱們的職業就好乾多了。大哥說:你真笨!如果沒有了它,這世上做劫匪的人怕是太多,我倆恐怕競爭不過同行,早就餓死了!

請同學們思考這個故事對個人及軟體業發展的啟示。

4  案例

程式員小飛原計劃三天完成某個任務,現在是第三天的下午,他馬上就可以做完。但是在實現功能的過程中, 他越來越意識到自己原來設計中的弱點,他應該採取另一個辦法,才能避免後面整合階段的額外工作。但是他如果現在就改弦更張,那勢必要影響自己原來估計的準確性,並且會花費額外的時間,這樣他的老闆,同事會因此看不起他。如果他按部就班,最後整個團隊還要花更多時間在後續整合上,但那就不是他個人的問題了。怎麼辦?

 

 

 


[i]      Professional Software Development, ISBN 0-321-19367-9 Steve McConnell, 出版社:Addison-Wesley

[ii]      參見:http://en.wikipedia.org/wiki/Margaret_Mitchell

相關文章

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.