2008-09-26 77 views
7

在我們公司,我們一直都在進出境承包商。由於編寫代碼的成熟度差別很大,因此很難維護這樣的代碼庫。在一定程度上,我的角色包括指導發展資源。我發現,如果我只是讓他們編碼,我會得到一些非常天真的東西放在一起。什麼是教導已經開發人員如何以及何時使用接口,抽象,包裝,設計模式,反射等的最佳方式。你如何教好編程好的東西?

回答

4

當然,你的問題比編程和信息技術更大 - 它真正成爲教學理論的核心 - 如何最好地將知識從一個人傳遞到另一個人。

我們知道一些基本知識 - 小的學生對教師的比例等。如果您希望他們掌握某些東西,您就無法爲學生完成這項工作。

那麼,我們可以拿走什麼呢?確保你有你想要「學生」去的地方的一致標準。確保你有可以學習的優質材料。你必須有一個方法來做到這一點,否則你會發現你浪費了你自己寶貴的時間很多。輔導是非常重要的,但同樣,你的學生在被指出正確的方向之後需要自己去學習。

那麼,你如何教導出超越語法的導入編程概念呢?

就我個人而言,我喜歡輔導和提供很好的例子,初級開發人員可以深入瞭解自己的情況。

不要忘記,他們需要犯錯誤的空間,但這些錯誤必須予以糾正。

1

你的答案在你的問題中。我發現這樣做的唯一方法就是一次一個地指導年輕的開發人員。這意味着將開發人員的能力與項目難度相匹配,並花時間引導他們走向正確的方向。

編輯:回想你的問題,我想也許我的回答不太好。除非他們長期(也可能不是離岸),否則我認爲你不會有很多運氣指導承包商。你會得到你所得到的。在僱用時請記住這一點。

1

讓每個人都從維護開始。只有通過學習如何對惡劣代碼進行痛苦的維護,您是否可以學習如何編寫優秀的代碼,以及如何實現這一目標。

1

我建議確保代碼審查以某種方式合併到您的開發過程中。不是對抗性的(兩個或兩個以上的評論者與會議室中的編碼人員聚集在一起,導致他撕碎),但更多的是一對一的,通過所寫的內容。從您所描述的內容來看,這聽起來像您的開發人員在地理上距離遙遠,因此難以進行有效的代碼審查。但是,堅持這一點是值得的。如果你不能親自聚會,實時的語音對話將會是最好的,將代碼放在你們面前。

只要你進入這樣的評論,目的是幫助你的開發者變得更好,你們都會受益。

1

「教學」可能不是您想要的正確方法。你希望他們使用知識,讓事情變得更好,不斷地做,這是一種稍微不同的觀察方式。開發者有什麼樣的聲譽?如果他們使用界面,抽象,包裝,設計模式,反思等,他們會得到什麼樣的好處。以你想要的方式?他們想要什麼樣的好處?如果你能找到激勵某人的動機,那麼這就是有時想到的問題,這是關鍵,而不是僅僅假設問題在「技術」中。欲瞭解更多的差異,看看this article在「Sources of Insight」這是一個很好的博客模式和做法,國際海事組織。

+0

感謝您的回覆。我一定會讀! – fnCzar 2010-01-11 05:52:02

3

對編程非常適合這一點,因爲它就像一個連續的代碼審查。小輩會從設計的高級層面學習SOOOOO:「界面,抽象,包裝,設計模式,反射等等。」

+0

絕對!想想看,我在第一份工作中受到了結對編程,我發現它非常有幫助。 – fnCzar 2010-06-28 17:47:34