2010-03-03 41 views
3

我很難解釋代碼或不同的開發範例,例如設計模式等等。在我腦海中,我知道我在說什麼,但是當我解釋我對老人或同伴所做的一些事情時,我覺得我我沒有那麼清楚,因此也沒有對他們公正。有時候,我覺得好像我在努力去解釋一些事情,或者讓事情變得更加困難。你如何向別人或一羣人解釋代碼或其他做法?你有什麼方法改進了你的代碼和實踐的表達?信心與此有什麼關係?如何改善您對代碼或流程的闡釋或解釋?

回答

3

我的這個個人的經驗:

  • 使用圖比的話,或談論更多。一張價值數千字的好圖。儘管其他人可能不瞭解細節,但圖表可以讓他們對事物如何工作有一個高層次的概念。
  • 從觀衆可以理解的事物開始,並發展您的解決方案。我最喜歡的設計模式書籍'Head First Design Patterns'就是一個典型的例子。
  • 確保每個人都在同一頁面上。在進入解決方案之前,確保每個人都瞭解問題。這聽起來很愚蠢,但你無法想象人們多久開始討論'好吧,讓我們做這樣的事情......',而不事先澄清問題。
  • 尋求反饋。每個人都有自己的問題向其他人介紹想法。你必須向觀衆詢問他們的感受 - 太快了?在中間需要一些檢查點來澄清問題?等等。
+0

關於圖表:我也喜歡使用圖表,但有些人不懂圖表。快速瞭解圖表是否有幫助,如果不是,請不要使用它。 – Marius

+0

我一定會把更多時間放在你提到的那本書上。我通過它掃描了幾次,它看起來非常有用,以及所有的頭部頭銜。 – Xaisoft

3

開始的一種方法是寫出你想要爲自己解釋的內容。如果你不能寫出你曾經做過的事情,並且以對你有意義的方式來解釋它,那麼你可能首先不會真正理解它。

這種方法還可以幫助您將頭腦中的想法分解成具體的組件。解釋整體的一些部分,然後將它們聯繫在一起,以顯示「系統」是如何工作的。通過練習,當你向他人解釋他們時,你可以使用這種方法來分解想法。

+0

你說得很好。這有點像編寫一個算法來將程序分解成位而不是直接跳入。感謝提示。 – Xaisoft

3

關於教學和解釋一般事情,這是真的:

試着把自己放在聽衆的鞋子裏。弄清楚他們知道什麼,他們不知道什麼。如果您正在向不懂編程的人解釋設計模式,請解釋廣義術語,而不是詳細信息。如果這個人是一個有經驗的程序員,那麼你可以詳細解釋它。時刻注意他們對你說的話的反應,比如面部表情。這會告訴你他們是否明白你在向他們解釋什麼。如果他們不明白一件事,你需要更詳細地解釋它,或者跳過它,如果它不重要。不要重複你說的話。如果聽者不理解某些事情,那麼再次說完全一樣的東西不會有幫助。請嘗試從另一個角度來解釋它。

一個好主意是用隱喻來解釋事物。瞭解你的聽衆,並找出他們理解得很好的東西。然後用這個比喻解釋過程或代碼。例如,我通常解釋TCP數據包與UDP數據包的不同之處,解釋我們如何在電話上進行交談。同樣,您可以解釋TDMA和FDMA如何作爲一羣人圍坐在一張桌子上同時互相交談。在使用隱喻時,您需要放棄技術術語,直到您知道該人理解其工作原理,然後您可以放棄隱喻並根據實際的代碼或過程進行解釋。

+0

偉大的建議。我確實發現自己多次重複自己,經常努力尋找正確的單詞。有時候,甚至很難找到廣義的術語。把自己放在聽衆的鞋子裏,用隱喻,我肯定會花很長時間。謝謝。 – Xaisoft

1

這是一個很好的問題。我不認爲計算機科學專業的學生在公開演講中獲得足夠的經驗並且在大學中捍衛他們的代碼。至少我接受採訪的人沒有。這是我的想法。

  1. 聽你的同事在說什麼,並努力工作,以確保他們知道你瞭解他們的觀點。如果他們認爲你不瞭解他們的出發點,你不能改變任何人的意見。
  2. 閱讀設計圖案書,如Design Patterns in Java。他們如何解釋理論將幫助你學會闡明自己的理論。
  3. 參加公開演講課程。通過緊張是一個很大的問題。
  4. 白板你的想法,視覺艾滋病是一個巨大的幫助。
+0

感謝您的提示。 – Xaisoft