文章來自quora這個問題下的一個回答:What are the things that a programmer must know (obviously besides programming languages)?
當然了,精通編程語言對程序員而言是最基礎的事。
程序員最重要的能力是抽象思考的能力。通常,程序使用的抽象層級越高越好。抽象出一個事物或者邏輯的本質是你最需要練習的事。
拆分然后逐一解決:一個優(yōu)秀的程序員不會一上來就直接解決一個很大很困難的問題,會把一個難題拆分成很多小的并且很容易解決的問題,再去逐一解決。
-
找出模式。這需要有一定的經驗,把面對的問題通過我們已經有的輪子的來解決是一種非常好的編程方式。這比只知道一個一個解決眼前的問題不知道高到哪里去了。
這里來個段子:在一場面試中,一個程序員被問到如果微波爐會引起火災會怎么做。他說我會把它丟出去(throw)。面試官沒有get到。再問:好吧,如果咖啡機也會著火呢?程序員回答到:把咖啡機放進微波爐然后一起丟出去。因為我們已經有了一個解決方案。
所以,如果能把一個問題轉化成我們已經解決的問題這是極好的。
寫出高質量的代碼但別被完美主義套牢。我們都想寫出完美的優(yōu)雅的代碼,然而,如果你花了太多時間去追求這些有時真的不劃算。
經驗。寫,寫,寫。重要的事情說三遍。
歡迎關注我的微博:@沒故事的卓同學