• <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>

            coreBugZJ

            此 blog 已棄。

            為什么開發(fā)者總是選昏招 (轉(zhuǎn))

              當前,軟件開發(fā)者在設計和實現(xiàn)系統(tǒng)時總是面臨很多選擇。我們時常被過多的選擇轟炸并習慣于應付像NoSQL、云、REST、Map-Reduce等流行詞。然而,負責設計系統(tǒng)的開發(fā)者很容易被誘導而采用沒有明顯優(yōu)點的新技術,反而忽視了那些看起來不夠現(xiàn)代和時髦的簡單方案。看來KISS原則(Keep it simple,stupid!)雖然常被提起,但在支持企業(yè)級方案時卻往往被忽略。這是為什么呢?

              原因可能有很多,下面我總結(jié)了幾條,我想能覆蓋大部分情況。作為職業(yè)開發(fā)者,我強烈認為,我們有責任為雇主提供最好的、長期的解決方案,當我們的個人喜好與此目標沖突時,我們應該控制自己。軟件開發(fā)仍舊不同于醫(yī)藥或工程領域,但我想我們確實需要學習這些領域中的工作所帶有的專業(yè)精神、責任和義務。


              原因1-厭倦重復

              開發(fā)者經(jīng)常重復的解決同類問題。不是所有人都能一直從事新工作,就算有機會,也很可能還是老環(huán)境下的;類似的問題常常已經(jīng)被全球的軟件開發(fā)者解決過成千上萬次了。

              即使之前我們能熟練的解決某一問題,我們還是想嘗試新的事物,這并不奇怪。我們是天生的難題解決者,而且有時僅僅是想嘗試下新的難題。我確信很多有幾年經(jīng)驗的人都看到過這樣的現(xiàn)象,采用不同技術的新實現(xiàn)將原功能系統(tǒng)替換掉,而此舉除了滿足新開發(fā)者的個人喜好之外實際上沒有什么明確的原因。

              我們應該如何處理呢?我們該如何控制自己對新事物的渴求?比起嘗試最新的NoSQL平臺來,關系數(shù)據(jù)庫真讓人煩躁。誰在意是不是我們未能有效利用它呢?哦,我想我們還是有幾項可選的。比如,采取主動,找到可能受益于新技術的平臺構(gòu)建方式。為什么不利用業(yè)余時間做一些試驗性項目來滿足自己對新技術的渴望呢?畢竟我們的工作是交付高質(zhì)量軟件,而非取悅自我。

              這里要說明一下,我并不是要勸阻任何人使用新技術,只是建議一定要了解技術的優(yōu)點,并確認這是否是你的最佳選擇;如果說離了這個新技術干不成事,那就盡情去用吧!


              原因2-簡歷加料

              這可能是使開發(fā)者選昏招的最悲哀的原因,主要會影響決策過程不良的團隊。這個原因也是很常見的。

              目前,軟件開發(fā)中的合同和職位經(jīng)常變動——開發(fā)者一兩年跳個槽很正常。忌諱跳槽的時代早就過去了。正因如此,開發(fā)者通過不斷的跳槽向上爬。對平均水平或者不夠熟練的開發(fā)者而言,通過跳槽獲得提升比在一家公司等晉升要容易的多。

              因此,開發(fā)者希望采用新技術并獲得一些經(jīng)驗,以此為自己的簡歷增加閃光點。至于新技術對平臺到底有多大用處,重要性倒在其次。通常,真正用到多少并不重要——找新工作的時候沒有人能假裝他們沒有夸大自己的技能。所以,平臺在從小變大的過程中,往往因為各種原因而死掉,比如使用了未經(jīng)測試的技術,或者使用了內(nèi)部人士都沒有真正理解的技術。隨著開發(fā)人員跳到更有前景的地方,公司剩下的就只有因使用了太多技術而無人維護的系統(tǒng)了。

              我想大多數(shù)開發(fā)者不會這么做。當面對要做出錯誤選擇的開發(fā)者時,有反對意見的人要努力阻止他們。


              原因3-同伴壓力

              同伴壓力可能是最難抵制的原因了。我們都愿意相信,我們是獨立的、可以做出明智的決策的個體,但我們都是人,即使最敏感的人也是社會性的動物,也想有一個開心融洽的團體。

              當面對新的或者時髦的技術時,很多人都有點害怕去抵制實現(xiàn)那些看起來并未必多好的想法。我們要盡量壓制這種感覺。如果在你所處的環(huán)境中,討論和爭論是重要的(就像人們所期待的那樣),你要隨意的說出你的擔憂,即使你不完全熟悉最新的和最好的技術。別忘了雖然軟件技術變化不定但基本原理幾乎保持不變。要是有些東西看起來不合理,那就說出來。即使你是初級開發(fā)者,也應該自由的加入你的看法——有經(jīng)驗不代表就正確。此外,在決策過程中你也可以獲得一些洞察力。


              原因4-缺乏理解

              技術選擇可能是在開發(fā)者不了解平臺如何工作,甚至他們都不想去了解的情況下做出的。

              比如,你因為沒有高性能關系數(shù)據(jù)庫經(jīng)驗,而又擔心實現(xiàn)的東西不具有可伸縮性,所以傾向于選擇NoSQL路線。雖然往往這種擔心是沒有任何理由的。如果你錯誤的使用了工具,當然它就起不到好的作用。不要在缺乏理解或認識的情況下就輕率的采取行動。如果事實上采用關系數(shù)據(jù)庫的方案可以很好的實現(xiàn)系統(tǒng),并且你的平臺已經(jīng)在使用這種方案,那么僅僅因為你對當前方案不熟悉而引入新的依賴是愚蠢的。

              為了避免這樣的問題,你需要多加閱讀和學習!如果你在做技術選擇,請檢查你的假設是否成立。就討論中的工具與有經(jīng)驗的開發(fā)者溝通,并詳細咨詢工具的優(yōu)缺點。學習可用工具的更多信息并不是浪費,你的行動很有可能在未來得到益處。


              原因#5-誤解或者解決不存在的問題

              這點與前一點有些聯(lián)系,但這個問題非常重要,值得單獨討論。

              當開發(fā)者定位新技術時,通常都會因為該技術可以做X和Y,還能對抗Z而選擇它。但實際上,大部分情況下X,Y和Z根本就不是問題。例如,如果我們有一個只讀的數(shù)據(jù)集需要緩存到集群中的多個節(jié)點上,有人可能選擇一個支持分布式數(shù)據(jù)集且每個節(jié)點上元素都不同的緩存技術。但是,如果數(shù)據(jù)集很小且我們不修改數(shù)據(jù)集,那分布式緩存有必要嗎?我們將為不存在的問題而引入了速度慢、可靠性差且復雜度高的新技術。

              為了預防這一點,開發(fā)者需要確保自始至終都理解問題域,也需要反復核對假設以確保其正確性。有時我們假設的事情可能并非事實,所以反復核對非常重要,從而避免覆蓋假設情況的誘惑。非必要的情況下不要增加功能。增加功能也是要耗費力氣的,而我們把在后期做修改的代價看的過高了,卻沒有意識到我們現(xiàn)在投入相同的努力僅僅是為了避免在以后付出同樣工作進行修改的機會,其實這種機會往往很少出現(xiàn)。


              我們應該做什么?

              當選擇技術時,怎么做才是正確的呢?首先,你需要回顧下面幾點,盡量形成團隊決策。投入越多,越不容易漏掉那些可能讓你改變決策的信息。

            • 復查需求——確認一致性、容錯、性能等需求點。
            • 評估一下現(xiàn)有的東西能否滿足需求,如果能,那它基本上就是最佳選擇。
            • 調(diào)查其他技術如何滿足需求,并考慮額外依賴和潛在失效點帶來的成本(沒有免費的午餐,新技術可能都有較大的維護成本)。
            • 征求團隊中的專家意見——支持你真正理解的。
            • 考察任何其他的關注點,比如價格、時間表等。
            • 團隊討論并列出贊成和反對的理由。

              這只是一些指導原則,你可以采用任何你喜歡的方式,關鍵還是仔細和理性的做出決策。

              希望不要有人把本文的意思誤解為新技術是可怕的或者說要避免新技術。其實我已經(jīng)在實際中使用過NoSQL技術。我相信它能很好的滿足既有需求,并且我之前曾經(jīng)用它來解決過具體問題。有時我想我們是糾纏于新技術里有趣的地方而忘記了我們的最終目標。記住你的目標,盡可能做出最好的、長期的選擇。

            posted on 2012-05-27 23:18 coreBugZJ 閱讀(499) 評論(0)  編輯 收藏 引用 所屬分類: 技術視野Software

            亚洲欧美日韩精品久久亚洲区| 久久精品国产久精国产| 久久精品国产一区二区三区不卡| 久久久久亚洲av毛片大| 久久这里只有精品18| 久久久精品久久久久特色影视| 久久久久婷婷| A级毛片无码久久精品免费| 久久精品国产亚洲7777| 久久99热这里只有精品国产| 久久久WWW成人免费精品| 久久人人爽人人爽人人片AV麻烦 | 亚洲精品无码成人片久久| 99久久国产热无码精品免费久久久久| 亚洲人成伊人成综合网久久久| 国产精品久久久久久| 久久国产亚洲精品无码| 色偷偷88888欧美精品久久久| 99久久99久久精品国产片果冻| 久久久精品国产免大香伊| 日本福利片国产午夜久久| 欧美久久综合性欧美| 一本色道久久88精品综合 | 丰满少妇人妻久久久久久| 一本色道久久综合亚洲精品| 中文字幕一区二区三区久久网站| 2021国内精品久久久久久影院| 99久久综合国产精品免费| 亚洲狠狠久久综合一区77777| 麻豆成人久久精品二区三区免费| 久久无码一区二区三区少妇 | 久久天天躁狠狠躁夜夜2020老熟妇| 人妻无码αv中文字幕久久琪琪布| 欧美性猛交xxxx免费看久久久| 国产一区二区精品久久岳| 亚洲国产婷婷香蕉久久久久久| 久久精品一区二区| 欧美亚洲另类久久综合| 亚洲乱亚洲乱淫久久| 久久亚洲精精品中文字幕| 欧美大香线蕉线伊人久久|