招生熱線
0755-86191118 0755-86191118
我的位置: 首頁 > 綜合文章 > 寶安北大青鳥:軟件開發(fā)的一些常識(shí)和思考

寶安北大青鳥:軟件開發(fā)的一些常識(shí)和思考

2017-01-10 11:11:11
來源:深圳嘉華學(xué)校
[導(dǎo)讀] 編程是一門藝術(shù)嗎  作者的觀點(diǎn):水平高到一定程度后,干啥事都能感受到藝術(shù),編程也不例外。但在技術(shù)行業(yè),人們通常認(rèn)為藝術(shù)是隨心所欲、不可把握的東西。如果程序員都把編程當(dāng)成藝術(shù)來看待,準(zhǔn)會(huì)把公司老板嚇昏過去。  大部分人開發(fā)軟件是為了滿足客戶的需求,而不是為了自己享
編程是一門藝術(shù)嗎
  作者的觀點(diǎn):水平高到一定程度后,干啥事都能感受到“藝術(shù)”,編程也不例外。但在技術(shù)行業(yè),人們通常認(rèn)為“藝術(shù)”是隨心所欲、不可把握的東西。如果程序員都把編程當(dāng)成“藝術(shù)”來看待,準(zhǔn)會(huì)把公司老板嚇昏過去。
  大部分人開發(fā)軟件是為了滿足客戶的需求,而不是為了自己享受。本書(《高質(zhì)量程序設(shè)計(jì)指南——C++/C語言》)提倡規(guī)范化編程。規(guī)范化能夠提高質(zhì)量與效率,最具實(shí)用價(jià)值,盡管它在一定程度上壓抑了“藝術(shù)”。編程藝術(shù)是人們對高水平程序創(chuàng)作的一種感受,但只可意會(huì),不可言傳,不能成為軟件公司的一個(gè)指導(dǎo)方針。
  編程時(shí)應(yīng)該多使用技巧嗎
  作者的觀點(diǎn):就軟件開發(fā)而言,技巧的優(yōu)點(diǎn)在于能另辟蹊徑地解決一些問題,缺點(diǎn)是技巧并不為人熟知。若在程序中使用太多的技巧,可能會(huì)留下錯(cuò)誤隱患,別人也難以理解。一個(gè)局部的優(yōu)點(diǎn)對整個(gè)系統(tǒng)而言是微小的,而一個(gè)錯(cuò)誤則可能對整個(gè)系統(tǒng)是致命的。我建議用自然的方式編程,不要濫用技巧。我們有時(shí)的確不知道自己的得意之舉究竟是錦上添花,還是畫蛇添足。就像蒸出一籠饅頭,在上面插一朵鮮花,本想弄點(diǎn)詩情畫意,卻讓人誤以為那是一堆熱氣騰騰的牛糞。
  小時(shí)候讀的《狼三則》故事啟示我們,失敗的技巧被諷刺為“伎倆”。當(dāng)我們編程時(shí)無法判斷用的是技巧還是伎倆的情況下,那就少用。《賣油翁》的故事又告訴我們“熟能生巧”,表明技巧是自然而然產(chǎn)生的,不是賣弄出來的。
  換更快的計(jì)算機(jī)還是換更快的算法
  如果軟件運(yùn)行較慢,是換一臺(tái)更快的計(jì)算機(jī),還是設(shè)計(jì)一種更快的算法?
  作者的觀點(diǎn):如果開發(fā)軟件的目的是為了學(xué)習(xí)或是研究,那么應(yīng)該設(shè)計(jì)一種更快的算法。如果該軟件已經(jīng)用于商業(yè),則需謹(jǐn)慎考慮。若換一臺(tái)更快的計(jì)算機(jī)能解決問題,則是最快的解決方案。改進(jìn)算法雖然可以從根本上提高軟件的運(yùn)行速度,但可能引入錯(cuò)誤并延誤進(jìn)度。
  技術(shù)狂毫無疑問會(huì)選擇后者,因?yàn)樗麄冇X得放棄任何可以優(yōu)化的機(jī)會(huì)就等于犯罪。類似的爭議還有:是買現(xiàn)成的程序,還是徹底由自己開發(fā)?技術(shù)人員和商業(yè)人士常常會(huì)有不同的決策。
  錯(cuò)誤是否應(yīng)該分等級(jí)
  微軟的一些開發(fā)小組將錯(cuò)誤分成以下4個(gè)等級(jí)(Cusumano, P354~P355)。
   一級(jí)嚴(yán)重:錯(cuò)誤導(dǎo)致軟件崩潰。
   二級(jí)嚴(yán)重:錯(cuò)誤導(dǎo)致一個(gè)特性不能運(yùn)行并且沒有替代方案。
   三級(jí)嚴(yán)重:錯(cuò)誤導(dǎo)致一個(gè)特性不能運(yùn)行但有替代方案。
   四級(jí)嚴(yán)重:錯(cuò)誤是表面化的或是微小的。
  作者的觀點(diǎn):將錯(cuò)誤分等級(jí)的好處是便于統(tǒng)計(jì)分析,僅此而已。但上述分類帶有較重的技術(shù)傾向,并不是普遍適用的。假設(shè)某個(gè)財(cái)務(wù)軟件有兩個(gè)錯(cuò)誤:錯(cuò)誤A使該軟件死掉,錯(cuò)誤B導(dǎo)致工資計(jì)算錯(cuò)誤。按上述分類,錯(cuò)誤A屬一級(jí)嚴(yán)重,錯(cuò)誤B屬二級(jí)嚴(yán)重。但事實(shí)上B要比A嚴(yán)重。工資算多了或者算少了,將會(huì)使老板或員工遭受經(jīng)濟(jì)損失。而錯(cuò)誤A只是使操作員感到厭煩,并沒有造成經(jīng)濟(jì)損失。再例如航空軟件操作手冊寫錯(cuò)了,按上述分類則屬四級(jí)嚴(yán)重,但這種錯(cuò)誤可能導(dǎo)致機(jī)毀人亡,難道還算微小嗎?
  開發(fā)人員應(yīng)該意識(shí)到:所有的錯(cuò)誤都是嚴(yán)重的,不存在微不足道的錯(cuò)誤。只有這樣才能少犯錯(cuò)誤。
  一些錯(cuò)誤的觀念
  錯(cuò)誤觀念之一:我們擁有一套講述如何開發(fā)軟件的書籍,書中充滿了標(biāo)準(zhǔn)與示例,可以幫助我們解決軟件開發(fā)中遇到的任何問題。
  作者的觀點(diǎn):好的參考書無疑能指導(dǎo)我們的工作。充分利用書籍中的方法、技術(shù)和技巧,可以有效地解決軟件開發(fā)中大量常見的問題。但實(shí)踐者并不能因此依賴于書籍,這有如下兩個(gè)原因。
  (1)在現(xiàn)實(shí)中,由于工作條件千差萬別,即使是相當(dāng)成熟的軟件工程規(guī)范,也常常無法套用。
  (2)軟件技術(shù)日新月異,沒有哪一種標(biāo)準(zhǔn)能長盛不衰。祖?zhèn)髅胤皆谀承╊I(lǐng)域很吃香,而在軟件領(lǐng)域可能意味著落后。
  錯(cuò)誤觀念之二:我們擁有充足的資源和經(jīng)費(fèi),可以買最好的設(shè)備,一定能做出優(yōu)秀的軟件產(chǎn)品。
  作者的觀點(diǎn):大公司經(jīng)常有這樣的心態(tài)。良好的開發(fā)環(huán)境只是產(chǎn)出成果的必要條件,而不是充分條件。如果擁有好環(huán)境的是一群庸人或者是一群勾心斗角的聰明人,難保他們不干出南轅北轍的事情。
  錯(cuò)誤觀念之三:如果進(jìn)度落后于計(jì)劃,可以增加更多的程序員來解決問題。
  作者的觀點(diǎn):軟件開發(fā)不同于傳統(tǒng)的農(nóng)業(yè)生產(chǎn),人多不見得力量大。如果給落后于計(jì)劃的項(xiàng)目增添新手,可能會(huì)更加延誤項(xiàng)目,原因如下。
  (1)新手會(huì)產(chǎn)生很多新的錯(cuò)誤,給項(xiàng)目添麻煩。
  (2)老手向新手解釋工作及交流思想都要花費(fèi)時(shí)間,使實(shí)際開發(fā)時(shí)間更少。
  所以精確地制定項(xiàng)目計(jì)劃很重要,不在乎計(jì)劃中的進(jìn)度看起來有多么快,計(jì)劃要恰如其分。
  錯(cuò)誤觀念之四:只要干活小心點(diǎn),就能提高軟件的質(zhì)量。
  作者的觀點(diǎn):軟件開發(fā)是一種智力創(chuàng)作活動(dòng),世上最小心翼翼、最踏實(shí)的程序員未必就能開發(fā)出高質(zhì)量的軟件來。程序員必須了解軟件質(zhì)量的方方面面(稱為質(zhì)量屬性),一定要先搞清楚怎樣才能提高質(zhì)量,才可以在進(jìn)行需求開發(fā)、系統(tǒng)設(shè)計(jì)、編程、測試時(shí)將高質(zhì)量內(nèi)建其中。
  軟件質(zhì)量屬性之間并非完全獨(dú)立的,而是互相交織、互相影響的。因此,程序設(shè)計(jì)中要同時(shí)兼顧幾個(gè)質(zhì)量屬性,使程序達(dá)到整體最優(yōu)。要把質(zhì)量屬性牢記在心,這樣才能在程序設(shè)計(jì)時(shí)一次性地編寫出高質(zhì)量的、錯(cuò)誤較少的代碼來,同時(shí)也可以減輕查錯(cuò)和調(diào)試的負(fù)擔(dān)。
  經(jīng)典的軟件工程書籍厚得像磚頭,或讓人望而卻步,或讓人看了心事重重。請寬恕作者的幼稚,本章試圖用聊天、說理的方式來解釋軟件工程的道理。軟件工程的觀念、方法和規(guī)范都是樸實(shí)無華的,平凡之人皆可領(lǐng)會(huì),但只有實(shí)實(shí)在在地用起來才有價(jià)值。我們不可以把軟件工程方法看成是諸葛亮的錦囊妙計(jì)—在出了問題之后才打開看看,而應(yīng)該事先預(yù)料將要出現(xiàn)的問題,控制每個(gè)實(shí)踐環(huán)節(jié),防患于未然。
  研究軟件工程永遠(yuǎn)做不到像理論家那樣瀟灑:定理證明了,就完事兒。
評論
相關(guān)文章
  • 全球震驚!中國AI悄然完成角色轉(zhuǎn)換,從追趕者到領(lǐng)跑者,生成式AI普
    顛覆認(rèn)知!中國AI發(fā)展已超預(yù)期!用數(shù)據(jù)說話,用事實(shí)見證世界第一 顛覆你的認(rèn)知!(Generative AlGlobal Research Report:Strategies for aCompetitive Advantage報(bào)告截圖)近日,美國人工智能和分析軟件巨頭SAS發(fā)布的一份調(diào)查報(bào)告《Generative AlGlobal Research Report:St
  • 全球震驚!中國AI悄然完成角色轉(zhuǎn)換,從追趕者到領(lǐng)跑者,生成式AI普
    顛覆認(rèn)知!中國AI發(fā)展已超預(yù)期!用數(shù)據(jù)說話,用事實(shí)見證世界第一 顛覆你的認(rèn)知!(Generative AlGlobal Research Report:Strategies for aCompetitive Advantage報(bào)告截圖)近日,美國人工智能和分析軟件巨頭SAS發(fā)布的一份調(diào)查報(bào)告《Generative AlGlobal Research Report:St
  • 熱烈歡迎廣東創(chuàng)新科技職業(yè)學(xué)院新生參加嘉華金蛛實(shí)訓(xùn)營!
    2024年7月18日,廣東創(chuàng)新科技職業(yè)學(xué)院實(shí)訓(xùn)營在嘉華金蛛產(chǎn)教融合實(shí)踐基地正式開營。本次實(shí)訓(xùn)活動(dòng)標(biāo)志著嘉華金蛛與廣東創(chuàng)新科技職業(yè)學(xué)院在校企合作,協(xié)同育人領(lǐng)域又邁出了堅(jiān)實(shí)的一步。開營儀式由嘉華金蛛人力資源經(jīng)理張萍主持,她對基地進(jìn)行了詳細(xì)介紹,強(qiáng)調(diào)基地是以就業(yè)為導(dǎo)向,不僅會(huì)
  • TIOBE 7月編程排行榜出爐!Python重回榜首
    近日,TIOBE 編程社區(qū)指數(shù)公布了2024年7月的編程語言排行榜,帶來了不少新變化。在這個(gè)月的榜單中,Python再次穩(wěn)坐榜首,成為編程語言的King。Python重回榜首先來看看本月排行榜top5的表現(xiàn):Python 重回榜首,占比 16 12%C++ 排行第二,占比 10 34%C 本月超過 Java,排行第三
  • 3月新媒體&電商學(xué)徒訓(xùn)練營圓滿落幕
    2024年3月15日,歷時(shí)10天的嘉華金蛛新媒體、電商學(xué)徒訓(xùn)練營圓滿落下帷幕。自開營以來,從基礎(chǔ)理論到實(shí)操技能,從單兵作戰(zhàn)到團(tuán)隊(duì)協(xié)作,每一個(gè)環(huán)節(jié)都見證了學(xué)員們的飛速成長與蛻變。本次訓(xùn)練營在班主任和講師的綜合評選下,王妍、王艷平、毛偉婷3位學(xué)員榮獲優(yōu)秀學(xué)員稱號(hào)。優(yōu)秀學(xué)員:王
  • 嘉華金蛛產(chǎn)教融合實(shí)踐基地最新來校路線圖介紹
    線路1:深圳北站出發(fā)地鐵5號(hào)線深圳北站上車,布吉站下車,站內(nèi)換乘到地鐵14號(hào)線。地鐵14號(hào)線布吉站上車,南約站下車,B出口出站。出站后,步行導(dǎo)航至嘉華金蛛(龍崗區(qū)誠信路10號(hào)),距離1000米,步行時(shí)間約10到15分鐘,抵達(dá)基地大樓。傳送門:https: j map baidu com 70 B9Iu線路2:
  • 深圳嘉華職業(yè)技術(shù)學(xué)校2021春季招生
    深圳嘉華職業(yè)技術(shù)學(xué)校2021春季招生
  • 北大青鳥
    北大青鳥師資
好吊妞免费视频在线观看,久久亚洲国产人成综合网,久久精品国产2020,欧美精品综合在线
亚洲性日韩精品一区二区三区 | 亚洲日本欧美视频网站 | 亚洲国产小电影在线观看高清 | 亚洲n∨中文字幕在线 | 亚洲aⅴ一区二区三区 | 污网站在线观看视频 |