我給所有新手程式設計師的建議

2021-07-11 02:03:16 字數 2190 閱讀 7658

歡迎來到程式設計的世界!

1. 編**的很難

無論你多擅長程式設計,唯一能降低開發速度的,就是學習和解決問題的能力。而當你越是擅長程式設計的時候,這種情況就可能越明顯。這是乙個非常吸引人的特質—你永遠不會厭倦程式設計。如果你厭倦了,那麼你的做法肯定是錯的,你應該去總結思考你在重寫的**。

2. 程式設計也會是最令人沮喪的事情之一

程式設計的一般步驟是:嘗試解決問題 → 受挫 → 更努力地嘗試 → 回顧 → 頓悟之後最終把程式執行起來。感到沮喪太正常了,而且這種感覺永遠不會完全離去。(當你能力更強的時候,你將會面對更加困難的問題,因此也會存在同樣的情況)。但這種沮喪的感覺,將使得解決這個問題感到更加地滿足。因此你需要去適應在這種沮喪的感覺中工作。

3. 無論問題多麼複雜,總會有其對應的解決方案的

當你的程式設計技能逐漸提公升的時候,你也將更擅長也更有信心使自己保持平靜,不陷入沮喪抓狂之中。這會使得沮喪的感覺變淡,同時也將促使你去解決更加困難複雜的問題。(如果問題太簡單了,你甚至會覺得無聊的!)

4. 程式設計不是每個人都能做的

當我們還是孩子的時候,我們做不好任何事,但是我們也沒有意識到這些。然而作為成年人,我們幾乎沒有機會去搞砸某些事。擁抱這種感覺吧。這太正常了,因為你在做的事,並不是每個人都有能力做的。

5. 要知道和你程式設計的第乙個小時相比,練習 10 小時之後將會完全不同

同樣的,當你完成100小時的練習之後,事情又更不一樣了。曾經有個人在部落格上寫到當他在高爾夫上練習一萬小時之後,水平產生了質的飛越。程式設計也是這樣的。

6. 如果程式設計師是巫師哈利,那程式設計是基礎的魔法

我們努力學習,鑽研「課本知識」(計算機+網際網路),學習「單詞拼寫」(程式)。巫師也可以教其他巫師如何使用他們的魔法。我們也可讓這樣的情景在地球上實現,去創造每個人都可以使用的神奇的裝置。(就像網際網路和手機)。即使沒有我們「施魔法」,這些裝置同樣可以做一些不可能的事情。

7. 用好網際網路

8. 善於總結經驗和技巧

作為程式設計師,無論何時,我們都要帶乙個工具箱。工具包含了我們解決問題的所有技巧。你所學的第乙個物件(比如變數、for 迴圈等等)就像我們的螺絲刀和錘子。在你的程式設計生涯中將會每天都使用它們。當逐漸熟練的時候,你將開始學習如何使用更加高階的工具,這些工具可能不會被經常使用,但是卻在解決特定問題的時候非常有效。(比如資料結構中的樹、a* 演算法、valgrind (記憶體除錯工具)、偵錯程式等)。大部分開發領域(遊戲開發、 web  開發、資料庫)同樣也有著各自領域內的特定問題和解決方案。其結果就是,你所解決的任何問題在下次遇到的時候將會簡單很多。

9. 每個寫好的程式,都是一步一步編碼而來的

你幾乎可以在你的計算機上閱讀、修改、測試任何專案,同樣也包含大部分別人寫好的專案。對計算機來說,這基本上就是一項超能力。

10. 堅持大量實踐

在開發上有所進步的最好方法就是大量寫程式堅持做東西。作為老師,在我力所能及範圍內我將會給予幫助。但是一旦掌握了足夠的知識儲備,你將有能力弄懂我告訴你的任何事情而不需要太多時間。所以堅持寫程式吧。正如一位智者曾經告訴我的:「只要有耐心,成功不可避免。」

11. 多讀優秀**

有太多的程式設計師比我們聰明了。他們寫了很多**,只要你需要你都可以閱讀。這些**很有可能在  github  上。

12. 據說,你所學的第二種程式語言將會是最難的

第一門程式語言將會塑造你對程式的思維模式(嚴肅臉!),當學習第二門語言的時候,你將不得不陷入前面的思維模式中。(絲毫不影響大腦思維方式的程式語言根本不值得學習)。但是當完成第二門語言的學習之後,你將能夠很快的學會其他新的語言。現在我可以在一周的時間內把任意一門給定的命令式語言學得足夠熟練。

13. 沒有所謂的「最好的語言」

某些語言和工具只是在解決特定對應的問題時比其它的要好一點。當學習新的語言的時候,不要嘗試把你過去的思維模式帶到新的語言系統中。相應地,我們應該學會如何更「地道」用新語言程式設計。

14. 放鬆心態、保持「單純」

程式設計是乙個巨大的樂高積木集合,充滿了各種需要被解決的有趣的問題。為了深入弄懂其中的構造,花時間去編寫有趣的程式,將比給你任何任命都要有趣的多。

15. 最優秀的程式設計師總是在工作之外自己也一直嘗試程式設計。如果你真的非常喜歡且擅長這樣,你將永遠不會失業。

16. 當你卡殼的時候,在紙上寫下你的程式。我是認真的。這非常神奇,是在程式設計競賽中的標準訓練模式。(我認為這個方法有效的原因是,當你不必花費精力去考慮語法的時候,你會有更多的精力去思考問題的本質和如何解決它)。

之前我也時不時給出了其他建議。但正如大多數建議一樣,如果某件事對你真的很重要,相信你自己會主動去研究清楚的。

給程式設計師的建議

要點有以下幾個 1 積累你的 量,不管是寫什麼樣的 寫那方面的 但是有一點,一定要思考,然後有所收穫 2 程式語言只是一種工具。當然這個覺悟在菜鳥程式設計師看來簡直是乙個荒謬的事。但是當你學的足夠深入,接觸到一定量之後你就會對這個想法完全表示贊同。而且既然一種程式語言都只能說是一種工具的話,那對於前...

給程式設計師新手的一些建議

前段時間因為實習生計畫花了很多時間做了實習生招聘的工作,產生的一些想法,寫在這裡。這次招聘過程中,我發現我們在校的學生有下面的這些特點 2 ok的解決問題能力。當問到演算法題時,我發現他們的問題解決能力還ok。我一般問1到2個中低難度的演算法題和1個基本的物件導向設計的題,都不難。我相信只要在學校裡...

給程式設計師新手的一些建議

前段時間因為實習生計畫花了很多時間做了實習生招聘的工作,產生的一些想法,寫在這裡。這次招聘過程中,我發現我們在校的學生有下面的這些特點 2 ok的解決問題能力。當問到演算法題時,我發現他們的問題解決能力還ok。我一般問1到2個中低難度的演算法題和1個基本的物件導向設計的題,都不難。我相信只要在學校裡...