當前位置:編程學習大全網 - 編程語言 - 除了編程語言,程序員還需要具備哪些能力

除了編程語言,程序員還需要具備哪些能力

抽像思維能力

作者認為這是程序員最重要的能力。我們在編程時,用到的都是壹些抽像的概念。作者認為應該把培養抽像思維能力作為平時練習最重要的事情長期做下去。

問題分解能力

現實編程時,我們要解決的問題往往都比較大,比較復雜。怎麽樣把復雜的大問題分解成壹個個小問題,再逐個去解決這些小問題。這個就是問題分解能力。缺少問題分解能力的人,拿到問題時總會沒有思路,因為他們不懂地把問題分解成壹個個簡單地可解決的問題。

模式識別

作者舉了個笑話:在壹個程序員的面試過程中,面試官問被試者,微波爐著火了怎麽辦?被試者說把微波爐扔到窗外。面試官繼續問如果咖啡機著火了怎麽辦?被試者說把咖啡機裝在微波爐裏,然後扔到窗外。

這裏作者想提的其實是壹種問題轉換的思路。把遇到的壹個問題分解後,把子問題使用已經有成熟解決方案的方法來解決。其實模式識別就是抽像思維的壹種。我在教女兒算數時,就用了這個方法,我先問她妳有三個蘋果,媽媽吃掉壹個還剩下幾個。等她理解後,再問她妳有三個桃子,媽媽吃掉壹個還剩下幾個。所以,實際上我是在教我女兒抽像思維的能力,問題的重點不是蘋果或桃子,而是三和壹。

判斷代碼質量的能力

這裏作者講的是不要過早,過度去優化代碼,不要片面去追求完美解決方案。代碼的性能和質量要和問題的復雜度相當。

怎麽樣去判斷代碼的質量和效率剛剛好呢?作者沒有提,我覺得這個需要有壹些 benchmark 工具來測量以及實際使用來衡量。在這壹點上,其實我比較少看到程序員犯這方面的毛病,看到更多的是完全沒有優化或沒去思考性能問題的低級錯誤。

練習

練習,練習,練習。沒有捷徑。10000 小時理論在編程這件事情上壹定是真理。可能有天才,但只要妳不是特別笨,在壹個細分領域持續練習,投入時間,壹定會成為專家。當然,這裏有些人是工作壹年,學了三年的經驗,有些人是工作了五年,只學了壹年的經驗。

基本原理

這條是我加的。當學會用 Java 讀寫文件後, 不管是 Swift 還是 Python ,他們的讀寫文件的方法都類似。當熟練使用 Java 的多線程編程,並且理解線程的運作方式之後,要用其他語言實現多線程編程,只需要查看 API DOC 很快就可以寫出多線程代碼。類似的概念還有網絡編程,內存管理,進程間通信,設計模式等等。新技術層出不窮,但基本原理卻發展異常緩慢,而且基本保持不變。

作者:kamidox

鏈接:/p/9d5366dd157f

來源:簡書

著作權歸作者所有。商業轉載請聯系作者獲得授權,非商業轉載請註明出處。

  • 上一篇:初中生想充實自己,在課余時間可以自學些什麽?
  • 下一篇:幼師難道單單只會照顧小朋友嗎?
  • copyright 2024編程學習大全網