日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

现代软件工程 第三章 【软件工程师的成长】练习与讨论

發(fā)布時(shí)間:2024/7/23 编程问答 41 豆豆
生活随笔 收集整理的這篇文章主要介紹了 现代软件工程 第三章 【软件工程师的成长】练习与讨论 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

1.? 選哪一種醫(yī)生?

作為一個(gè)軟件工程師, 你覺得自己表現(xiàn)如何? 有沒有這樣的體會(huì):

看書的時(shí)候覺得“技止此耳”,開發(fā)項(xiàng)目的時(shí)候才覺得實(shí)際情況和書上講的都有一些出入,一些重要的細(xì)節(jié)書上沒有提。我們很多人是邊看Asp.net的書, 邊開發(fā)Asp.net 的項(xiàng)目,這相當(dāng)于一邊看醫(yī)學(xué)書一邊動(dòng)手術(shù)……

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

a)???? 剛剛在書上看到你的病例, 開刀的過程中非常認(rèn)真嚴(yán)謹(jǐn), 時(shí)不時(shí)還要停下來翻書看看……

b)??? 富有創(chuàng)新意識(shí), 開刀時(shí)突然想到一個(gè)新技術(shù)、 新的刀法,? 然后馬上在你身上試驗(yàn)……

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

d)??? 此醫(yī)生無正式文憑或正式醫(yī)院的認(rèn)證, 但是號(hào)稱有秘方, 可治百病。

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

討論: ① 你要選哪種類型的醫(yī)生?② 醫(yī)生、藥劑師、律師和很多行業(yè)都有職業(yè)考試和職業(yè)證書,軟件工程師需要有正式的職業(yè)證書才能上崗么? 請參考Steve McConnell 的觀點(diǎn)[i]。

2. ?工程還是藝術(shù)

軟件開發(fā)是一門工程(Engineering),? 是一門藝術(shù)(Art),還是一門手藝(Craftmanship)? 你如何衡量藝術(shù)家? 如何衡量創(chuàng)造能力?

如果是一門工程, 那工程師要守規(guī)矩; 如果是一門藝術(shù), 那藝術(shù)家要?jiǎng)?chuàng)新。

  • 寫詩歌最多的人是誰?
  • 最有創(chuàng)造力的詩人是誰?

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

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

另外,優(yōu)秀的作品往往并不符合所有“好”的標(biāo)準(zhǔn)。例如,找出下面這首詞中重復(fù)的字:

??? 念奴嬌 · 赤壁懷古? - 蘇軾 ??? 大江東去,浪淘盡,???千古風(fēng)流人物。???故壘西邊,人道是,三國周郎赤壁。???亂石崩云,驚濤裂岸,卷起千堆雪。???江山如畫,一時(shí)多少豪杰。???遙想公謹(jǐn)當(dāng)年,小喬初嫁了。???羽扇綸巾,談笑間,檣櫓灰飛煙滅。???故國神游,多情應(yīng)笑我,早生華發(fā)。???人生如夢,一樽還酹江月。

出現(xiàn)了三遍的字有: 江,人;?? 出現(xiàn)了兩遍的字有: 國,生,千,故,如。這符合“好詞”的標(biāo)準(zhǔn)么?

南宋人俞文豹評價(jià)道:

???今人看人文字,未論其大體如何,先且指點(diǎn)重字。

軟件設(shè)計(jì)工程師們在做代碼復(fù)審的時(shí)候,是看“重復(fù)字”的多少, 還是程序的藝術(shù)性?

這個(gè)問題的另一個(gè)側(cè)面是,在中國,一個(gè)成名的歌唱家往往出現(xiàn)在各種場合,演唱她當(dāng)年成名的作品,觀眾們往往顯得百聽不厭。一個(gè)軟件工程師就不能這樣,在舞臺(tái)上展現(xiàn)他當(dāng)年寫的“hello world” 程序,或者是1.0 的產(chǎn)品。為啥有這樣的區(qū)別呢?

3.??絞刑架和職業(yè)發(fā)展

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

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

請同學(xué)們思考這個(gè)故事對個(gè)人及軟件業(yè)發(fā)展的啟示。

4.??案例

程序員小飛原計(jì)劃三天完成某個(gè)任務(wù),現(xiàn)在是第三天的下午,他馬上就可以做完。但是在實(shí)現(xiàn)功能的過程中, 他越來越意識(shí)到自己原來設(shè)計(jì)中的弱點(diǎn),他應(yīng)該采取另一個(gè)辦法,才能避免后面集成階段的額外工作。但是他如果現(xiàn)在就改弦更張,那勢必要影響自己原來估計(jì)的準(zhǔn)確性,并且會(huì)花費(fèi)額外的時(shí)間,這樣他的老板,同事也許會(huì)因此看不起他。如果他按部就班地按既定設(shè)計(jì)完成,最后整個(gè)團(tuán)隊(duì)還要花更多時(shí)間在后續(xù)集成上,但那就不是他個(gè)人的問題了。怎么辦?

5.??成長和代碼量的關(guān)系

軟件工程師的工作就是寫代碼,相關(guān)專業(yè)的練習(xí)也是以閱讀代碼,寫代碼為主,那么代碼量和工程師的水平是線性的關(guān)系么?

這個(gè)問題有人還研究過:

  http://www.techug.com/norris-numbers?(翻譯)

  http://www.teamten.com/lawrence/writings/norris-numbers.html?(原文)

當(dāng)代碼是在2,000行以下,程序員可以用 “寫了再改” 的蠻干方法,并且靠記憶力搞定一個(gè)程序,但是, 如果你的代碼規(guī)模達(dá)到20,000行,你要用結(jié)構(gòu)化編程(類,模塊,API,細(xì)節(jié)隱藏,面向?qū)ο蟮钠渌椒?#xff0c;等)來保證程序不變成一團(tuán)亂麻。? 如果代碼規(guī)模再大一個(gè)數(shù)量級, 20萬,200萬呢?

6. 成長和公司的關(guān)系

絕大部分的工程師都在某一個(gè)企業(yè)工作,工程師的成長也和企業(yè)的興衰有很大關(guān)系。企業(yè)興旺,工程師也是與有榮焉,很多人覺得是自己的功勞,理所應(yīng)當(dāng)提薪升職;企業(yè)衰落,很多工程師未必覺得是自己的問題(我的代碼很好的,都是經(jīng)理,市場,老大的問題!); 企業(yè)最后要裁員,很多人為了一些補(bǔ)償和企業(yè)產(chǎn)生糾紛。

幾個(gè)例子:

??? http://weibo.com/1620213837/BgSGLhdAe

??? http://www.csdn.net/article/2014-09-29/2821931?

??? http://www.csdn.net/article/2014-10-01/2821945?

那么,軟件工程師在企業(yè)中是勞動(dòng)密集型的工人么,還是有獨(dú)創(chuàng)性的專業(yè)人士? 他們對軟件企業(yè)的成敗負(fù)多大的責(zé)任? 7. 對職業(yè)梯子 (career ladder) 的思考: 從初學(xué)到精通(找到工作)的幾個(gè)階段,真遺憾,它不是勻速上升的: http://blog.jobbole.com/93320/
職業(yè)發(fā)展的梯子,有什么優(yōu)缺點(diǎn):https://blog.usejournal.com/the-software-engineering-job-ladder-4bf70b4c24f3 8. 自知之明 我們經(jīng)常看到一些IT 專業(yè)的同學(xué),同事,或者專家對一些事情進(jìn)行評論,并且表現(xiàn)得頭頭是道,他們真的懂多少,他們有自知之明么? 你在剛學(xué)習(xí)某個(gè)語言或技術(shù)的時(shí)候,是否也有這種現(xiàn)象? http://www.guokr.com/article/439517/ 類似的文章有: http://stock.jrj.com.cn/2018/11/29101425420269.shtml? ?或者搜索 “愚昧之巔 開悟之坡”?

鄧寧·克魯格心理效應(yīng),又稱達(dá)克效應(yīng)(Dunning-Kruger effect),簡單說就是一種認(rèn)知偏差,在某些領(lǐng)域能力欠缺的人總有一種虛幻的自我優(yōu)越感,認(rèn)為自己比真實(shí)情況更加了解并擅長這一領(lǐng)域的事情;但隨著知識(shí)的完善,他們會(huì)意識(shí)到自己的不足,通過不斷學(xué)習(xí),逐步達(dá)到真正意義上的優(yōu)秀。

9. 同學(xué)們在上這門課的時(shí)候,都是大二,大三, 你的困難和迷茫,別人一定有過。請看看別人怎么學(xué)習(xí)的,有些是科班,有些是野路子,有些成功,有些失敗。 請讀完下面所有博客 (讀完這些博客你不吃虧,你也不上當(dāng)!),談?wù)勛约旱母邢?#xff0c;你現(xiàn)在的條件比他們?nèi)绾?#xff1f; 你對計(jì)算機(jī)的熱愛僅僅是口頭的么? IT 專業(yè)的技術(shù)道路, 職業(yè)道路,社會(huì)道路怎么計(jì)劃呢? http://www.cnblogs.com/xiaozhi_5638/p/4485805.html http://www.cnblogs.com/blog470130547/p/4222870.html? ? http://www.cnblogs.com/unruledboy/p/DevCareer.html? http://coolshell.cn/articles/4561.htmlhttp://blog.csdn.net/haoel/article/details/1688104 http://book.douban.com/subject/4006425/discussion/22802960/ ?? ??? http://www.cnblogs.com/freeflying/p/4796369.html http://www.cnblogs.com/geniusvczh/archive/2011/12/16/2290808.html? http://book.douban.com/subject/4006425/discussion/22803733/ http://lucida.me/blog/on-mobile-developing-3/? ? http://www.jianshu.com/p/67a0cf352986? (光口頭上說 “熱愛” 是遠(yuǎn)遠(yuǎn)不夠的?) http://www.cnblogs.com/geniusalex/p/4928713.html (速成的培訓(xùn)班和打基礎(chǔ)的大學(xué)教育有區(qū)別么) http://www.cnblogs.com/AndersLiu/archive/2011/04/19/programming10years.html http://www.cnblogs.com/Tpf386/p/4798437.html 很多同學(xué)看不起大學(xué)老師按部就班地教課,他們心想,我看視頻也能學(xué)會(huì)的,為何要來聽課?請看這個(gè)學(xué)生學(xué)習(xí)的經(jīng)歷。

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

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

總結(jié)

以上是生活随笔為你收集整理的现代软件工程 第三章 【软件工程师的成长】练习与讨论的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。