一区二区久久-一区二区三区www-一区二区三区久久-一区二区三区久久精品-麻豆国产一区二区在线观看-麻豆国产视频

Web架構師成長之路

  本人也是coding很多年,雖然很失敗,但也總算有點失敗的心得,不過我在中國,大多數(shù)程序員都是像我一樣,在一直走著彎路。如果想成為一個架構師,就必須走正確的路,否則離目標越來越遠,正在辛苦工作的程序員們,你們有沒有下面幾種感覺?

  一、我的工作就是按時完成領導交給我的任務,至于代碼寫的怎樣,知道有改進空間,但沒時間去改進,關鍵是領導也不給時間啊。

  二、我發(fā)現(xiàn)我的水平總是跟不上技術的進步,有太多想學的東西要學,jQuery用的人最近比較多啊,聽說最近MVC比較火,還有LINQ,聽說微軟又有Silverlight了……

  三、我發(fā)現(xiàn)雖然我工作幾年了,除了不停的coding,Ctrl+C和Ctrl+V更熟練了,但編碼水平并沒有提高,還是一個普通程序員,但有人已經(jīng)做到架構師了。

  四、工作好幾年了,想跳槽換個工作,結果面試的考官都問了一些什么數(shù)據(jù)結構,什么垃圾回收,什么設計模式之類的東西,雖然看過,但是平時用不著,看了也忘記了,回答不上來,結果考官說我基礎太差。。。

  有沒有,如果沒有,接下來就不用看了,你一定是大拿了,或者已經(jīng)明白其中之道了,呵呵。

  如果有,恭喜你,你進入學習誤區(qū)了,如果想在技術上前進的話,就不能一直的coding,為了完成需求而工作,必須在coding的同時,讓我們的思維,水平也在不停的提高。

  寫代碼要經(jīng)歷下面幾個階段。

  一 、你必須學習面向對象的基礎知識,如果連這個都忘了,那你的編程之路注定是在做原始初級的重復!

  很多程序員都知道類、方法、抽象類、接口等概念,但是為什么要面向對象,好處在哪里,要解決什么問題?只是明白概念,就是表達不清楚,然后在實際工作中也用不上,過了一段時間,面向對象的東西又模糊了,結果是大多數(shù)程序員用著面向對象的語言做著面向過程的工作,因此要學習面向對象,首先應該明白面向對象的目的是什么?

  面向對象的目的是什么?

  開發(fā)語言在不斷發(fā)展,從機器語言,到匯編,到高級語言,再到第四代語言;軟件開發(fā)方法在不斷發(fā)展,從面向過程,面向對象,到面向方面等。雖然這些都在不斷發(fā)展,但其所追求的目標卻一直沒變,這些目標就是:

  1. 降低軟件開發(fā)的復雜度

  2. 提高軟件開發(fā)的效率

  3. 提高軟件質量:可維護性,可擴展性,可重用性等。

  其中語言的發(fā)展,開發(fā)方法的發(fā)展在1,2兩條上面取得了極大的進步,但對于第3條,我們不能光指望開發(fā)方法本身來解決。

  提高軟件質量:可維護性,可擴展性,可重用性等,再具體點,就是高內(nèi)聚、低耦合,面向對象就是為了解決第3條的問題。因此要成為一個好的程序員,最繞不開的就是面向對象了。

  二、 要想學好面向對象,就必須學習設計模式。

  假定我們了解了面向對象的目的,概念了,但是我們coding過程中卻發(fā)現(xiàn),我們的面向對象的知識似乎一直派不上用場,其實道理很簡單,是因為我們不知道怎么去用,就像游泳一樣,我們已經(jīng)明白了游泳的好處,以及游泳的幾種姿勢,狗刨、仰泳、蛙泳、自由泳,但是我們依然不會游泳。。。。

  因此有了這些基本原則是不行的,我們必須有一些更細的原則去指導我們的設計,這就有了更基礎的面向對象的五大原則,而把這幾種原則更詳細的應用到實際中來,解決實際的問題,這就是設計模式。因此要學好OO,必須要學習設計模式,學習設計模式,按大師的話說,就是在人類努力解決的許多領域的成功方案都來源于各種模式,教育的一個重要目標就是把知識的模式一代一代傳下去。

  因此學習設計模式,就像我們在看世界頂級的游泳比賽,我們?yōu)橹偪瘢瑸橹浴?/p>

  三、學習設計模式

  正像我們并不想只是看別人表演,我們要自己學會游泳,這才是我們的目的所在。

  當我們看完幾篇設計模式后,我們?yōu)橹裾駣^,在新的coding的時候,我們總是想努力的用上學到的設計模式,但是經(jīng)常在誤用模式,折騰半天發(fā)現(xiàn)是在脫褲子抓癢。。。

  當學完設計模式之后,我們又很困惑,感覺這些模式簡直太像了,很多時候我們分不清這些模式之間到底有什么區(qū)別,而且明白了設計過程中的一個致命的東西——過度設計,因為設計模式要求我們高擴展性,高重用性,但是在需求提出之初,我們都不是神,除了依靠過去的經(jīng)驗來判斷外,我們不知道哪些地方要擴展,哪些地方要重用,而且過去的經(jīng)驗就一定是正確的嗎?所以我們甚至不敢再輕易用設計模式,而是還一直在用面向過程的方法在實現(xiàn)需求。

  四、學習重構

  精彩的代碼是怎么想出來的,比看到精彩的代碼更加令人期待。于是我們開始思考,這些大師們莫非不用工作,需求來了沒有領導規(guī)定完成時間,只以設計精彩的代碼為標準來開展工作?這樣的工作太爽了,也不可能,老板不愿意啊。就算這些理想的條件他都有,他就一開始就設計出完美的代碼來了?也不可能啊,除非他是神,一開始就預料到未來的所有需求,那既然這些條件都沒有,他們?nèi)绾螌懗龅木蚀a?

  Joshua Kerievsky在那篇著名的《模式與XP》〔收錄于《極限編程研究》一書)中明白地指出:在設計前期使用模式常常導致過度工程(over-engineering)。這是一個殘酷的現(xiàn)實,單憑對完美的追求無法寫出實用的代碼,而「實用」是軟件壓倒一切的要素。

  在《重構——改善既有的代碼的設計》一書中提到,通過重構(refactoring),你可以找出改變的平衡點。你會發(fā)現(xiàn)所謂設計不再是一切動作的前提,而是在整個開發(fā)過程中逐漸浮現(xiàn)出來。在系統(tǒng)構筑過程中,你可以學習如何強化設計;其間帶來的互動可以讓一個程序在開發(fā)過程中持續(xù)保有良好的設計。

  總結起來就是說,我們在設計前期就使用設計模式,往往導致設計過度,因此應該在整個開發(fā)過程,整個需求變更過程中不斷的重構現(xiàn)在的代碼,才能讓程序一直保持良好的設計。由此可見,開發(fā)過程中需要一直重構,否則無論當初設計多么的好,隨著需求的改變,都會變成一堆爛代碼,難以維護,難以擴展。所謂重構是這樣一個過程:「在不改變代碼外在行為的前提下,對代碼做出修改,以改進程序的內(nèi)部結構」。重構的目標,就是設計模式,更本質的講就是使程序的架構更趨合理,從而提高軟件的可維護性,可擴展性,可重用性。

  《重構——改善既有的代碼的設計》一書也是Martin Fowler等大師的作品,軟件工程領域的超級經(jīng)典巨著,與另一巨著《設計模式》并稱"軟工雙雄",不可不讀啊。

  五、開始通往優(yōu)秀軟件設計師的路上

  通過設計模式和重構,我們的所學和我們工作的coding終于結合上了,我們可以在工作中用面向對象的思維去考慮問題,并開始學習重構了。這就像游泳一樣,我們看完了各種頂級的游泳比賽,明白各種規(guī)則,名人使用的方法和技巧,現(xiàn)在是時候回家去村旁邊的小河里練練了。練習也是需要有教練的,推薦另一本經(jīng)典書叫《重構與模式》,引用他開篇的介紹,本書開創(chuàng)性地深入揭示了重構與模式這兩種軟件開發(fā)關鍵技術之間的聯(lián)系,說明了通過重構實現(xiàn)模式改善既有的設計,往往優(yōu)于在新的設計早期使用模式。本書不僅展示了一種應用模式和重構的創(chuàng)新方法,而且有助于讀者結合實戰(zhàn)深入理解重構和模式。

  這本書正是我們需要的教練,值得一讀。

  六、沒有終點,只有堅持不懈的專研和努力。

  經(jīng)過了幾年的堅持,終于學會了靈活的運用各種模式,我們不需要去刻意的想用什么模式,怎么重構。程序的目標,就是可維護性,可擴展性,可重用性,都已經(jīng)成了一種編程習慣,一種思維習慣,就像我們練習了幾年游泳之后,我們不用再刻意的去考慮,如何讓自己能在水上漂起來,仰泳和蛙泳的區(qū)別..... 而是跳進水里,就自然的游了起來,朝對岸游去。但是要和大師比起來,嘿嘿,我們還有很長的路要走,最終也可能成不了大師,但無論能不能成為大師,我們已經(jīng)走在了成為大師的正確的路上,我們和別的程序員已經(jīng)開始不一樣,因為他們無論再過多少年,他們的水平不會變,只是在重復造輪子,唯一比你快的,就是Ctrl+C和Ctrl+V。

  正確的路上,只要堅持,就離目標越來越近,未來就一定會是一個優(yōu)秀的架構師,和優(yōu)秀架構師的區(qū)別,可能只是時間問題。

it知識庫Web架構師成長之路,轉載需保留來源!

鄭重聲明:本文版權歸原作者所有,轉載文章僅為傳播更多信息之目的,如作者信息標記有誤,請第一時間聯(lián)系我們修改或刪除,多謝。

主站蜘蛛池模板: 免费观看国产一区二区三区 | 黄免费在线观看 | 四房婷婷 | 亚洲国产成人成上人色 | 丁香婷婷在线 | 激情五月开心婷婷 | 色哟哟高清视频在线观看 | 黄色小视频免费在线观看 | 思思久久99热免费精品6 | 精品综合久久久久久98 | 亚洲国产综合精品中文字幕 | 亚洲国产精品久久婷婷 | 色偷偷网址 | 日本在线观看永久免费网站 | 免费激情网 | 天天色天天舔 | 亚洲天堂久 | 91福利在线免费观看 | www.亚洲视频.com | 在线视频观看一区 | 亚洲视频在线一区二区三区 | 韩国三级日本三级美三级 | 国产成人精品一区二区仙踪林 | 成人美女黄网站色大色费 | 香蕉人人超人人超免费看视频 | 国产三级级在线观看大学生 | 天天干天天天天 | 亚洲日本一区二区 | 国产精品视频在这里有精品 | 亚洲伊人久久大香线蕉在观 | 婷婷综合久久狠狠色99h | 色的视频网站 | 亚洲网站在线播放 | 中文字幕久久亚洲一区 | 国产在线中文字幕 | 手机在线黄色 | 免费a网址| 成人精品一区二区www | 最新精品国产 | 99pao强力打造免费高清色 | 亚洲一区二区三区网站 |