我要求工作中的Maven培訓,並且老闆們想聘請一個知道Maven的人作爲顧問來與我們合作,以便我們從真實世界的角度而不是培訓中學習Maven透視。確定Maven知識的問題
我的任務是提出各種難度的問題,詢問潛在的僱員以確定他們的Maven能力。問題是我還沒有完全理解Maven(因此是培訓請求)。
你會問什麼問題,以確定他們的Maven能力,以及Maven如何回答他們需要知道的水平?
我要求工作中的Maven培訓,並且老闆們想聘請一個知道Maven的人作爲顧問來與我們合作,以便我們從真實世界的角度而不是培訓中學習Maven透視。確定Maven知識的問題
我的任務是提出各種難度的問題,詢問潛在的僱員以確定他們的Maven能力。問題是我還沒有完全理解Maven(因此是培訓請求)。
你會問什麼問題,以確定他們的Maven能力,以及Maven如何回答他們需要知道的水平?
在我看來,一個「Maven的顧問」應:
dependencyManagement
。有這些技能的人應該把你放在正確的道路上(並且很可能有一個Maven的體面經驗)。
我建議你想想你想要用Maven做什麼,或者你爲什麼想把它引入到你的項目中。也許在介紹Maven時,請向你的老闆索要他的原因/目標。
當您命名您的主要目標爲什麼要介紹Maven。請諮詢潛在顧問他們將如何使用Maven實現這些目標。
實例1
目標:提高項目的整體代碼質量。
問題:我們如何使用Maven來提高項目的整體代碼質量。
可能的答案:Maven有幾個插件來強制/確保項目中的代碼質量,我們幾乎可以立即將這些插件集成到我們的構建腳本中。 (例如checkstlye,PMD的Cobertura,xradar ...)
實施例2
目標:創建幾個目的地環境自動化部署腳本。
問題:我們如何使用Maven自動將工件部署到多個目標環境。
可能的答案:我們可以使用Maven插件進行部署(例如Cargo)並使用maven的配置文件來處理多種配置。
a.s.o.
這裏有問題我會問:
所有這些問題至少有兩個答案。我會尋找能提供至少兩個答案的人,並指出每種方法的優缺點。理想情況下,這個人應該調整設置,以減少對環境已經起作用的干擾。
我會問:
兩者都非常開放的問題,但他們應該給你一個他的技能感覺,你可以從他身上學到什麼,他會帶來給貴公司。
編輯
Maven是在整體軟件配置管理(SCM)的戰略只是一塊。一個好的顧問應該知道maven進出的細節,但也知道它如何適應大局。就像您期望Java EE顧問成爲Java專家一樣,但知道向客戶提供企業應用程序意味着什麼。
在我工作的公司,我們有一個負責SCM的人,他曾是Maven的貢獻者。他的觀點比「僅僅」的maven更廣泛。他負責進行高效的構建,配置和發佈過程。舉兩個例子:
我們被硬編碼在Java代碼中的版本號,以便能夠顯示它進入我們的桌面應用程序的「關於」對話框。大多數情況下,我們在發佈之後忘記更改它,導致實際發行版號與關於對話框之間的不匹配 - 集成商在現場遇到的大問題。這是一個不好的做法。然後,他設置了一些內容,以便Maven中的版本號在manifest
文件中是正確的,並教導我們從Java中讀取manifest
文件以確保兩者匹配。
當你發佈一個模塊時,他編寫了一個腳本,不僅可以構建應用程序,還可以關閉票據系統(JIRA)中的相應版本並推送wiki中的發行說明。
所有這一切說,知道如何「mavenize」項目固然重要,但更重要的是,人必須瞭解你目前的工作方式,是什麼地方,幫助您設置一些合理的,以提高你的生產率。
爲「適合大局」(如實際上的任何工具) – 2010-02-05 15:02:51
如果您有奢侈品,我建議讓顧問來現場一天,給他/她一個現有的Java項目,並且讓他/她爲您「發揮它的作用」。第二天,和他/她坐在一起,讓他們解釋如何編譯,並建立一個罐子(或戰爭)。
或者讓他們來參加一個maven項目的採訪來演示。應該能夠編譯,並至少建立一個jar/war,imo。如果他們可以運行單元測試,那麼部署到tomcat,與gwt,hibernate,spring等各種框架集成,然後再更好。
這裏有很多很好的問題,特別是Pascal Thivent提出的問題。但是,我會問另一個問題:
問:Maven中的聚合和繼承有什麼區別?
文章:你可以有一個簡短的解釋here。
+1我應該明確提到繼承vs聚合(在如何設置多模塊構建) – 2010-02-05 13:19:11
+1以及對範圍的理解對於任何非平凡的maven設置都非常重要。 – sal 2010-02-05 15:41:27
+1 Maven顧問應該也是一名經驗豐富的Java開發人員/架構師。調整Maven需要對整個Java生態系統有深入的瞭解。對於現有的項目,有時需要重構代碼結構。 – cetnar 2010-02-05 07:13:37
@cetnar肯定是真的。擁有開發經驗,框架和相關的約束是一個巨大的優勢。 – 2010-02-05 13:16:15
依賴調解的一個正確的解釋是必須的 – 2014-08-29 10:01:59