框架會使程序員變笨嗎?

發表于:2014-03-06來源:外刊IT評論作者:不詳點擊數: 標簽:軟件測試
上周,我做了幾次面試,要招幾名有5年工作經驗的高級Java開發人員。但當面試結束后,我感覺到,各種框架(frameworks)使開發變得容易,但同時,也使程序員變笨。 每個人都會在他們的簡歷中羅列出幾乎所有的新框架,他們能“熟練的使用Spring,Hiberna

  上周,我做了幾次面試,要招幾名有5年工作經驗的高級Java開發人員。但當面試結束后,我感覺到,各種框架(frameworks)使開發變得容易,但同時,也使程序員變笨。

  每個人都會在他們的簡歷中羅列出幾乎所有的新框架,他們能“熟練的使用Spring,Hibernate,Web Services等”。

  下面是面試的過程。

  我: 你在你最近的項目中使用了Spring。使用Spring有什么好處?

  應試者: 我們使用XML配置出bean信息,Spring能夠幫我們實例化這些bean,供我們使用。

  我:如果Spring只是用來創建對象,那我們干嘛要用它?我們可以直接使用“new”來實例化各種依賴關系。為什么我們還要在XML里配置類的名字、要從Spring里取對象?

  應試者:如果改天我們又需要對接口做另外一種實現,我們開發出實現后,更改一下XML配置,就能使用我們的新實現了。我們不需要去修改Java類和重新編譯它們。

  我:可是既然你寫出了新的Java類,你必然要重新編譯你的項目。

  至于XML里的變化,99%的時間里你的XML都是打包在 war 或 ear 文件里的。

  所以,你只需要運行一下ant腳本,把你所有的變更都包在war文件里就行了。你的“如果使用XML就不需要編譯”的觀點是站不住腳的。

  應試者:唔,但依賴注入的設計模式建議采用這種做法。

我:好吧。我們就先聊到這。人力資源部會給你打電話的。
:-)

  面試另外一個家伙:

  我:你能描述一下你最近開發的項目、以及使用到的技術嗎?

  應試者: 那是個XYZ系統,我們使用了Spring,Hibernate,REST WebServices。

  我:那好。你能解釋一下RESTful嗎?

  應試者:我們使用@RequestMapping(value=”/url”, method=”POST”)來開發RESTful應用。我們還使用了PUT,DELETE方法。

  我:哦,那RESTful個什么概念?

  應試者: 我不是說了嗎,如果你使用 @RequestMapping(value=”/url”, method=”POST”),你就是在開發RESTful應用。

  我:哦,你對Hibernate如何?

  應試者:我這兩年一直在使用Hibernate。我對Hibernate很熟悉。

  我:跟JDBC比起來,Hibernate有什么優勢?

  應試者:使用Hibernate,我們不需要寫任何跟數據庫交互的東西,Hibernate會幫我們處理這些。

  我:那Hibernate怎么能知道你的項目需要如何的存取?

  應試者:如果我們使用了Hibernate,它會幫我們完成存儲,更新,取數據等數據庫操作。

  我:哦,哦。你在業余時間會讀一些技術相關的博客嗎?

  應試者:當然,我對Hibernate的深入掌握就是這樣學會的。

我:非常好,很高興見到你。我們的人力資源部會給你打電話的。
:-)

  面試過程就這樣 …

  我絕對相信各種框架會提高程序員的工作效率。但程序員也應該努力去了解這些框架是如何工作的。你并不需要理解各種框架的所有內部工作原理。如果你非常的擅長Servlets和JSP,那你就很容易理解諸如Struts,Spring MVC等Java Web框架。如果你不了解這些基礎知識,很顯然,所有你的回答只能是“框架/標記/XML幫我們做了這些”。

  我強烈建議所有剛開始職業生涯的Java程序員都要認真學習Java核心,Servlets,JSP知識。只有這樣你才能正確的理解各種框架的工作原理。

原文轉自:http://www.vaikan.com/are-frameworks-making-developers-dumb/

国产97人人超碰caoprom_尤物国产在线一区手机播放_精品国产一区二区三_色天使久久综合给合久久97