免费视频淫片aa毛片_日韩高清在线亚洲专区vr_日韩大片免费观看视频播放_亚洲欧美国产精品完整版

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
如何才能像軟件開發(fā)人員一樣思考?

    改變游戲是一種心態(tài)。- 羅伯特羅德里格茲
作為一名軟件開發(fā)人員,我不斷地問(wèn)自己:杰出開發(fā)人員與普通開發(fā)人員的區(qū)別是什么?根據(jù)我的觀察,它與正規(guī)教育,年齡,性別甚至行業(yè)經(jīng)驗(yàn)幾乎沒有關(guān)系。它與思維方式有很大關(guān)系。

    開發(fā)軟件非常像烹飪。所有傳奇廚師必須首先掌握食物準(zhǔn)備和廚房過(guò)程的共同基礎(chǔ)。只有這些基本原則才能發(fā)揮其獨(dú)特的個(gè)性特征。偉大的開發(fā)人員在他們來(lái)時(shí)具有創(chuàng)造性的多樣性,但他們共享一種奇怪的共同心態(tài),他們?cè)谶@種心態(tài)上建立自己的技藝。

    沒有想象力,我認(rèn)為我是優(yōu)秀的軟件開發(fā)人員之一。但是,我確實(shí)要繼續(xù)研究?jī)?yōu)秀軟件開發(fā)人員的有效思維模式,以便模仿它們。

    您為什么要關(guān)心軟件開發(fā)人員的想法?難道他們不是一堆書呆子在鍵盤上敲擊?是的,但軟件開發(fā)人員的思維方式可以應(yīng)用于您生活的許多方面,例如,在您的業(yè)務(wù),您的喧囂,投資,愛好,運(yùn)動(dòng)或?qū)W習(xí)新技能。
   

讓我們剖析一下軟件開發(fā)人員如何思考的基石概念。使用您的抽象思維,您可以將它們用作心理藍(lán)圖,以吸引您的日常事業(yè)。

  學(xué)習(xí)如何學(xué)習(xí)

    如果我必須選擇一項(xiàng)對(duì)軟件開發(fā)人員來(lái)說(shuō)絕對(duì)必要的技能,那就是自學(xué)能力。

    開發(fā)人員通過(guò)閱讀書籍,使用博客,學(xué)習(xí)輔導(dǎo),參加培訓(xùn)和做迷你項(xiàng)目來(lái)自學(xué)。

    當(dāng)遇到編程問(wèn)題時(shí),開發(fā)人員會(huì)為Stack Overflow等論壇提供提示和解決方案。通常情況下,解決方案可能已被別人弄清楚了。

    是的,它可以作為軟件開發(fā)人員生存,而無(wú)需學(xué)習(xí)任何新東西。這樣做的高昂代價(jià)是成為固定產(chǎn)品或技術(shù)角色。

    學(xué)習(xí)新東西是消費(fèi)信息和為自己嘗試的東西之間的微妙舞蹈。如果依賴于消費(fèi)信息,您將無(wú)法獨(dú)立生成解決方案。如果您只是通過(guò)反復(fù)試驗(yàn)來(lái)學(xué)習(xí),那么您將錯(cuò)過(guò)利用現(xiàn)成的信息。例如,閱讀寫作確實(shí)會(huì)讓你成為一個(gè)更好的作家,但只有你把時(shí)間寫進(jìn)去。
   

培養(yǎng)學(xué)習(xí)的熱情。如果你這樣做,你永遠(yuǎn)不會(huì)停止成長(zhǎng)。 - Anthony J. D'Angelo

    除了法律或醫(yī)學(xué)領(lǐng)域之外的一些例外,自學(xué)新技能的能力可以勝利正規(guī)教育。就像軟件開發(fā)人員一樣,我們應(yīng)該不斷地教自己新技能,以保持我們的競(jìng)爭(zhēng)意義。

    面臨的挑戰(zhàn)是平衡兩種自我教育途徑:積極的信息消費(fèi)和通過(guò)反復(fù)試驗(yàn)的學(xué)習(xí)。

  不要重新發(fā)明輪子

    在開發(fā)軟件時(shí),您幾乎不必從頭開始。您可以從眾多編程語(yǔ)言,框架,基礎(chǔ)架構(gòu)和工具中進(jìn)行選擇。

    盡管現(xiàn)有工具和其他供應(yīng)商提供的軟件可用,但軟件行業(yè)中的非發(fā)明(NIH)綜合癥描述了重新發(fā)明輪子的趨勢(shì)。很容易陷入這個(gè)陷阱,因?yàn)閯?chuàng)建軟件比在其他行業(yè)中創(chuàng)建組件要便宜得多。

    有充分的理由重新發(fā)明自己的車輪。一個(gè)非常有效的原因是,現(xiàn)有的解決方案不符合您的要求。
即使是這種情況,一些開源解決方案也允許您擴(kuò)展或修改它們。

    另一方面,重新發(fā)明輪子有可怕的理由,包括但不限于:

  1、被自我欺騙,假設(shè)自己開發(fā)的解決方案總是更好

  2、懶得弄清楚那里有什么解決方案

    重用現(xiàn)有軟件具有節(jié)省時(shí)間和精力的明顯好處。從長(zhǎng)遠(yuǎn)來(lái)看,您將受益于軟件開發(fā)人員提供的錯(cuò)誤
修復(fù)和新功能。

    在進(jìn)行風(fēng)險(xiǎn)投資時(shí),如果我們能夠采用現(xiàn)有的解決方案,那么我們應(yīng)該謹(jǐn)慎行事。我們可以問(wèn)自己
這樣的問(wèn)題:

  1、那里有什么相關(guān)的想法?
  2、有別人想出一個(gè)系統(tǒng)或一個(gè)過(guò)程?

  3、我們可以建立任何現(xiàn)有的解決方案嗎?
  4、有可用的工具嗎?

  5、我們可以使用任何可用的服務(wù)嗎?

  小迭代

    軟件開發(fā)過(guò)程是一個(gè)迭代過(guò)程。從日常編程任務(wù)到跨越數(shù)周或數(shù)月的產(chǎn)品發(fā)布,可以在多個(gè)層面上看到迭代思維。

    迭代的基本思想是計(jì)劃,執(zhí)行,測(cè)試和學(xué)習(xí)。

迭代越短,反饋就越快地回到下一個(gè)開發(fā)周期。在20世紀(jì)90年代之前,通常會(huì)有更長(zhǎng)的產(chǎn)品開發(fā)周期,在解決方案到達(dá)客戶之前最長(zhǎng)可達(dá)6個(gè)月。目前的方法是迭代次數(shù)要短得多。一些軟件公司甚至每天多次為生產(chǎn)系統(tǒng)部署解決方案。

    當(dāng)我們面對(duì)那些“可能,應(yīng)該擁有,會(huì)做得更好”的時(shí)刻時(shí),采用迭代方法可以讓我們對(duì)自己不那么苛刻。這是因?yàn)槿绻覀冨e(cuò)過(guò)了在這次迭代中做得好的事情,我們可以在下一次迭代中修復(fù)它。

    知道我們不必完美,我們必須不斷改進(jìn),這是令人欣慰的。

    迭代工作的另一個(gè)主要好處是,我們可以從一開始就把一切都搞清楚的心理負(fù)擔(dān)減輕。在不忽視大局的情況下,我們只需要為當(dāng)前迭代提供足夠的計(jì)劃和決策。未來(lái)迭代的決定暫時(shí)可以省略,因?yàn)樗鼈冞€取決于當(dāng)前迭代的學(xué)習(xí)。

    迭代思維模式幾乎可以應(yīng)用于任何基于項(xiàng)目的任務(wù)。該方法系統(tǒng),有效,實(shí)用且易于實(shí)施。

  測(cè)試,測(cè)試,測(cè)試

    軟件開發(fā)人員工作的一個(gè)組成部分是測(cè)試。盡管代碼通常是根據(jù)一個(gè)人的意圖編寫的,但仍然會(huì)有錯(cuò)誤。由無(wú)意識(shí)錯(cuò)誤或錯(cuò)誤假設(shè)引起的錯(cuò)誤。
   

一個(gè)好的軟件開發(fā)人員永遠(yuǎn)不會(huì)認(rèn)為一個(gè)軟件沒有bug。整個(gè)軟件行業(yè)都認(rèn)為錯(cuò)誤只是整個(gè)過(guò)程的一部分。這就是創(chuàng)建如此多的工具,框架和方法來(lái)檢測(cè)錯(cuò)誤的原因。

    測(cè)試的目標(biāo)是盡快捕獲那些討厭的錯(cuò)誤。檢測(cè)到較早的錯(cuò)誤,它們要修復(fù)的成本越低。如果需要花費(fèi)5分鐘來(lái)修復(fù)開發(fā)人員的計(jì)算機(jī)上的錯(cuò)誤,則可能需要花費(fèi)數(shù)百萬(wàn)美元才能達(dá)到客戶方面。

   
在我們承接的任何企業(yè)中,我們都將不可避免地犯錯(cuò)誤。就像軟件一樣,我們?cè)皆绨l(fā)現(xiàn)它們?cè)胶谩?br>在將進(jìn)一步的資源用于某個(gè)原因之前測(cè)試我們的假設(shè)是明智的。
   

一種有效的測(cè)試方法是在較小的范圍內(nèi)嘗試一些東西。例如,如果我們假設(shè)我們可以以全職攝影師的身份學(xué)習(xí),那么在退出我們的全職工作之前嘗試將其作為一個(gè)側(cè)面的喧囂是個(gè)好主意。

    我們也有可能對(duì)自己有錯(cuò)誤的假設(shè)。典型的錯(cuò)誤是對(duì)我們利益的假設(shè)。通過(guò)現(xiàn)代媒體,很容易獲得浪漫的成功觀,而不會(huì)看到那些已經(jīng)實(shí)現(xiàn)它們的人投入的努力。這種傾斜的觀點(diǎn)可能會(huì)導(dǎo)致我們?cè)谀承╊I(lǐng)域假設(shè)虛假利益。找出我們是否喜歡某事的唯一方法是在全押之前測(cè)試水域。
   

在我們檢查它們之前,假設(shè)只不過(guò)是未經(jīng)證實(shí)的想法在我們頭腦中旋轉(zhuǎn)。測(cè)試是將假設(shè)提煉為經(jīng)過(guò)驗(yàn)證的真理的好方法。測(cè)試的關(guān)鍵是盡可能少地提交資源,然后盡早發(fā)現(xiàn)錯(cuò)誤。

  應(yīng)用學(xué)習(xí)模式

    軟件工程中的設(shè)計(jì)模式是針對(duì)重復(fù)出現(xiàn)的問(wèn)題的通用,可重用的解決方案。它不是一段代碼,而是一個(gè)可以在編寫自己的代碼時(shí)應(yīng)用的構(gòu)思模板。

    讓我們將Facade模式作為設(shè)計(jì)模式的具體示例。
   

軟件系統(tǒng)可以包含多個(gè)子系統(tǒng)的復(fù)雜混亂。如果我們?cè)谠O(shè)計(jì)中不小心,那么子系統(tǒng)的組件之間將會(huì)發(fā)生混亂的通信。Facade模式告訴我們使用“facade”來(lái)隱藏子系統(tǒng)的復(fù)雜性。其他子系統(tǒng)只是與該外觀進(jìn)行對(duì)話,而不是該特定子系統(tǒng)的各個(gè)組件。
   

Facade模式不是一種新模式。它最初是在1994年出版的題為“設(shè)計(jì)模式:可重復(fù)使用的面向?qū)ο筌浖脑亍钡臅忻枋龅?。然而,它今天仍然非常相關(guān)。

    優(yōu)秀的軟件開發(fā)人員在軟件中研究設(shè)計(jì)模?他們理解設(shè)計(jì)模式可以提供一種結(jié)構(gòu)化的方法來(lái)解決他們遇到的問(wèn)題。更重要的是,他們知道何時(shí)應(yīng)用哪種模式。
   

研究擺在我們面前的慷慨捐助將使我們免于因錯(cuò)誤而發(fā)現(xiàn)相同想法的痛苦。應(yīng)用模式來(lái)解決問(wèn)題就像解決魔方一樣。當(dāng)您知道必須采取的步驟時(shí),問(wèn)題突然變得容易解決。
   

有明顯的方法來(lái)學(xué)習(xí)如何使用指南或課堂培訓(xùn)課程等模式。然而,模式隨處可見,有時(shí)隱藏在明顯的視線中。我最喜歡學(xué)習(xí)模式的方法之一是閱讀在各自領(lǐng)域取得成功的人的傳記。
   

模式絕不是可以普遍應(yīng)用的千篇一律的解決方案。它們就像棚子里的工具。經(jīng)驗(yàn)和洞察力將告訴我們,并非每項(xiàng)任務(wù)都可以用錘子解決。

  不要愛上你的工作

    偉大的軟件開發(fā)人員實(shí)踐了一個(gè)非常重要的區(qū)別:他們喜歡他們所做的事情,但他們不會(huì)愛上他們所做的工作。
   

為了在任何事情上都要體面,包括軟件開發(fā),必須有一定的激情門檻。我們需要熱情的火力推動(dòng)我們超越世俗高原的挑戰(zhàn)性駝峰。
   

盡管有激情,但優(yōu)秀的開發(fā)人員并不依賴于他們所創(chuàng)作的作品。這種類似禪宗的分離提供了多種祝福,特別是當(dāng)我們的工作需要我們創(chuàng)新時(shí):

  1、對(duì)其他人的建設(shè)性反饋更開放

  2、評(píng)估替代解決方案時(shí)更客觀
  3、
在下一個(gè)版本或迭代中嘗試完全不同的方法的機(jī)會(huì)更高

  4、盡管知道他們被丟棄的風(fēng)險(xiǎn)很高,但他們更愿意嘗試激烈的想法
   
從個(gè)人經(jīng)驗(yàn)來(lái)看,我不得不承認(rèn),從我生產(chǎn)的工作中疏遠(yuǎn)自己并不容易。當(dāng)我在工作數(shù)天或數(shù)周后丟棄原型時(shí),它確實(shí)會(huì)受到傷害。

    沉沒成本謬誤可以解釋我們工作的依戀。這意味著我們投入的東西越多,放棄它就越難。

    與我們所建造的東西脫離的概念可以在生活的各個(gè)方面都有所幫助。分遣隊(duì)阻止我們長(zhǎng)時(shí)間保持某種東西,特別是當(dāng)它不再適用于我們目前的事業(yè)時(shí)。
   

也許我們正在緊緊抓住那個(gè)半死不活的低利潤(rùn)方面的喧囂,這已經(jīng)耗盡了我們的時(shí)間?;蛟S是時(shí)候重新評(píng)估我們的整個(gè)投資組合。
   

對(duì)我們工作的依戀類似于站在森林里,緊緊抓住我們?cè)?jīng)雕刻過(guò)的木偶。創(chuàng)造更美麗的木偶有無(wú)窮無(wú)盡的機(jī)會(huì)。制作新產(chǎn)品的第一步是放棄舊產(chǎn)品。

本站僅提供存儲(chǔ)服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請(qǐng)點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Java設(shè)計(jì)模式-外觀(門面)模式
軟件測(cè)試
GoF設(shè)計(jì)模式之十 Facade- -
IOS設(shè)計(jì)模式淺析之外觀模式(Facade)
外觀模式-facade
深入理解JavaScript系列(30):設(shè)計(jì)模式之外觀模式
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長(zhǎng)圖 關(guān)注 下載文章
綁定賬號(hào)成功
后續(xù)可登錄賬號(hào)暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服