西西軟件園多重安全檢測下載網(wǎng)站、值得信賴的軟件下載站!
軟件
軟件
文章
搜索

首頁業(yè)內(nèi)動態(tài) 網(wǎng)絡(luò)雜燴 → 好的程序員做不出好的軟件設(shè)計

好的程序員做不出好的軟件設(shè)計

相關(guān)軟件相關(guān)文章發(fā)表評論 來源:西西整理時間:2011/8/31 11:37:13字體大。A-A+

作者:佚名點擊:43次評論:0次標(biāo)簽: 程序員

Java程序員appv2.3.0 官方安卓版
  • 類型:教育學(xué)習(xí)大。8.6M語言:中文 評分:10.0
  • 標(biāo)簽:
立即下載
 你不能看到一個程序員還不錯,就把他推到系統(tǒng)分析師、軟件設(shè)計師或軟件架構(gòu)師的位置上。如果你在團(tuán)隊或公司里尋找一個能勝任軟件架構(gòu)師或設(shè)計師這樣重要位置的人時,首先出現(xiàn)在腦子里的想法通常是在程序員中選一個最好的。別這么干。這樣的位置不是隨意的找個不錯的程序員就能勝任的。把你最資深的程序員晉升到這個位置也未必就合適。

乍一聽你可能感覺荒誕。為什么我不能讓一個程序員去做系統(tǒng)設(shè)計呢?畢竟,他們是設(shè)計程序的,不是嗎?的確是的,沒錯。但你要明白的事情是,設(shè)計軟件相對于編寫程序,它需要的是一套完全不同的技能。

  讓我們來看看為什么一個好的程序員就未必可以做一個好的軟件設(shè)計師。但首先,讓我們來問問自己一個問題,是什么讓一個程序員變的優(yōu)秀,甚至杰出?要想成為一個好的程序員,你需要有能力實現(xiàn)真實世界里重要的軟件。只能夠?qū)懗鲆粋簡單的文本編輯器是遠(yuǎn)遠(yuǎn)不夠的。

  為了能做到可以解決重大的、復(fù)雜的編程問題,一個程序員需要在某個特點的編程語言上進(jìn)行數(shù)年的經(jīng)驗積累。也就是說,為了能熟練的使用這種語言、熟悉這種語言的各種特色,他必須專注于這種語言。問題就在這兒。

  對于只有錘子的人,他能解決的問題就是釘釘

  如果你專注于一種語言,并能做到精通掌握,那你遇到的問題模式很可能就限制于跟這種語言相關(guān)的領(lǐng)域。簡言之,如果你懂PHP,那所有的問題都基本上是跟Web開發(fā)相關(guān)。相同的道理,如果你全部的知識都集中的Java上,那你對所有問題的解決思路都會沿著面向?qū)ο蟮姆较,即使是使用過程式編程對于解決你的問題會更優(yōu)的情況下,你也會如此。

  一個程序員,只懂得一、兩種編程語言,這會嚴(yán)重的限制他的解決問題的能力。例如,如果你的編程語言是C語言,對于手頭出現(xiàn)的問題,你絕對不可能想出一種面向?qū)ο蟮慕鉀Q思路,因為你的編程語言不提供這樣的語言特征。跟Haskell程序員不一樣,C++程序員不可能想出函數(shù)式解決方案。你的編程語言里提供了結(jié)構(gòu)體和枚舉類型與否,會嚴(yán)重的影響你剖析一個問題的方式。如果你使用的語言的能力很弱,或你只知道少數(shù)幾種語言,你解決問題的能力相應(yīng)的會被削弱。

  語言塑造了我們的思維方式

  有人說,我們的語言塑造了我們的思考和認(rèn)知這個世界的方式。我基本上認(rèn)同這個觀點。當(dāng)一個人的母語里的名詞都有性別之分時,他一定不會同說其它種母語的人那樣一提起“警察”這個詞就基本上認(rèn)為是男的。當(dāng)一個人的母語里對藍(lán)色和綠色不區(qū)分時,他對世界的感知會和那些有區(qū)分的人的感知大不一樣。

  如果我們回首中世紀(jì)學(xué)校的三學(xué)科,它們被描述為:語法解決概念和對象如何在書寫和話語中被表現(xiàn),用邏輯對它們進(jìn)行分析,最終以修辭為目的同他人交流。對于我們來說,編程語言也有語法。如果我們的編程語言不夠強(qiáng),我們對事物和概念的認(rèn)識以及對如何表達(dá)它們都不會有完整的視野。

  語言,我們用來跟人們、跟計算機(jī)交流的功能,明顯的影響著我們的思考方式。我們對語言知道的越豐富、越多,越能幫助我們提高解決問題的能力。

  那么,什么樣的人更合適?

  那么,一個在某一兩種編程語言里具有專長的程序員,在當(dāng)他解決一個問題時,會存在一定的局限。他會局限于他使用的語言允許他做的事。因此,他不會成為一個好的軟件設(shè)計師或分析師。

  如果我們不用這些優(yōu)秀的程序員,誰又能擔(dān)當(dāng)軟件設(shè)計的任務(wù)呢?當(dāng)然不會是那些完全不懂編程的人了。我們需要的是一種通才。一個優(yōu)秀的軟件設(shè)計者必須通曉過程式,面向?qū)ο笫剑瘮?shù)式,以及邏輯式編程語言—還包括各種優(yōu)秀的軟件開發(fā)方法論。他不能只熟悉一種方法模式、像一個專業(yè)領(lǐng)域人員那樣。當(dāng)然,他自己并不能寫出復(fù)雜的程序,因為他的知識太寬泛。盡管如此,他卻能正確的判斷出怎么樣的設(shè)計才是一個正確的解決方案。如果問題是處理一個釘子,他會找來一個熟練使用錘子的人;如果問題是處理一個巨石,他會叫來爆破部隊,而不是讓你徒勞的用錘子白費(fèi)力氣。


    手機(jī)寫代碼app
    (19)手機(jī)寫代碼app
    手機(jī)寫代碼app是專為想要學(xué)習(xí)編程、隨手可以寫代碼的伙伴收集的軟件,程序員也就是碼農(nóng),最需要的就是源源不斷的想法,這樣才能做出新穎的軟件和游戲,使用手機(jī)寫代碼app可以隨時編寫代碼,以免靈感一瞬即逝,還可以需要新的知識內(nèi)容,可以說是非常多功能的,需要的伙伴,趕緊來西西專區(qū)下載吧!...更多>>
    • AIDE代碼社區(qū)2.4.2

      04-11 / 5.6M

      推薦理由:AIDE代碼社區(qū)是一款專為手機(jī)開發(fā)的學(xué)習(xí)平臺,在AIDE代碼社區(qū)中用戶可以學(xué)習(xí)到各種手機(jī)開發(fā)的知識內(nèi)筒哦,其
    • AIDE代碼手冊v1.0 安卓版

      12-08 / 1.5M

      推薦理由:AIDE代碼,首款A(yù)IDE開發(fā)環(huán)境的官方手冊,里面內(nèi)容巨多,豐富多彩,非常適合小白使用,對于那種剛剛?cè)腴T級的
    • Touchqode Editorv0.9.11 免費(fèi)版

      04-20 / 1.6M

      推薦理由:這是一款A(yù)ndroid手機(jī)上的源代碼編輯和查看工具。支持語法高亮和自動填充以及其他跟PC的IDE一樣的特性。支持
    • 易語言完美破解版V5.6免費(fèi)安裝版

      06-20 / 23.4M

      推薦理由:易語言完美破解版是一款用了一年的易語言完美破解版(精簡版)挺好用的,但是在安裝完成的時候會出現(xiàn)一個易
    • 猿圈appv2.3安卓版

      02-14 / 13.7M

      推薦理由:猿圈app是一款為程序員打造的軟件,猿圈app中有豐富的程序員面試題和學(xué)習(xí)內(nèi)容,而且內(nèi)容實時更新,讓你了解
    • 猿圈Oxcoderiphon版V2.0.1

      09-24 / 25.5M

      推薦理由:猿圈(Oxcoder)iPhone版是一款由程序員設(shè)計、程序員切圖、程序員堆出來的,專門為程序猿筆試、面試而打造的

    相關(guān)評論

    閱讀本文后您有什么感想? 已有人給出評價!

    • 8 喜歡喜歡
    • 3 頂
    • 1 難過難過
    • 5 囧
    • 3 圍觀圍觀
    • 2 無聊無聊

    熱門評論

    最新評論

    發(fā)表評論 查看所有評論(0)

    昵稱:
    表情: 高興 可 汗 我不要 害羞 好 下下下 送花 屎 親親
    字?jǐn)?shù): 0/500 (您的評論需要經(jīng)過審核才能顯示)