學好編程的 4 個秘訣
閉上眼睛轉個圈,想一下你身邊那些人,是不是總有那么幾個,能夠脫穎而出,好像不管他們做什么事情,都能夠取得不錯的成績。

反正我身邊就有這么一些人,他們學習學的好,是老師的驕傲,是同學的榜樣;朋友處的不錯,大家都樂于和他交往;工作上表現突出,不怕事,能抗事,團隊中處于核心地位,薪資待遇也高一籌。
認真地想一想,你就會發現,他們在做事情的時候是有方式可循的。
這里多說兩句哈。上學的時候,我有一雙善于發現美的眼睛,但焦點是自己,所以很多同學都說我很自戀,同時呢,我還特別樂意挑別人的毛病。
最近一些年,我這雙眼睛雖然近視度數增加了,但仍然很善于發現美,并且焦點發生了變化,變成了身邊的人,無論他做的是什么職業,我總想從他身上學到一些什么。
這種轉變,對于我的成長來說,我認為非常重要。你是不是也心有靈犀,這么覺得呢?好了,來看看做好事情都有哪些秘訣(可能算不上)吧。
第一,修煉內功。
大家應該都挺喜歡看武俠小說的吧,尤其是金庸的作品,男主都特別注重內功的修煉。蕭峰、郭靖、楊過、張無忌等等等等,內功都是獨領風騷的,能與他們匹敵的寥寥無幾。
程序員是這個時代的弄潮兒,要想站得住,不被大浪掀翻,內功自然要渾厚。直白點說,就是,只會 CURD 是很容易被淘汰出局的。
對于初學者來說,一門編程語言,一種工具,一個框架,先會用是最迫切的需求。一上來就去看源碼,很容易就勸退了。
等會用了之后,用多了之后,就得深入,知道為什么要這樣用,能不能按照其他的方式用,這背后的原理又是什么,都得逐漸搞清楚,否則就只能停滯不前,無法更進一步。
就比如說,我們學 Java,上來就去搞多線程并發、Java 虛擬機,我敢保證,學霸都不一定能扛得住。
正確的學習方法
簡單了解一些 Java 的歷史背景,然后安裝 JDK,安裝 IDE,寫個 Hello World 感受一下編程語言的魅力。再然后學習數據類型、運算符、流程控制語句、訪問權限控制、對象和類、接口與抽象類、字符串、異常處理,接著是集合、泛型、枚舉、IO,最后才是多線程并發、Java 虛擬機、性能優化。
就這樣,循序漸進,一步一個腳印,等到這些都會用了,編程經驗也提高了,再去深入地研究源碼,了解設計模式、計算機基礎知識、計算機網絡知識、數據結構與算法等等,就會游刃有余。
算法研究的目的是為了更有效的處理數據,提高數據運算的效率,數據運算是定義在數據結構上的,各大公司的筆試基本都考這個。如果你想拿到更多的 offer,拿到更好的 offer,LeetCode 上的題要能刷個一百到三百道,有時間有精力的話,最好參加一下 ACM 競賽,在找工作的時候會非常有優勢。
第二,持續改進。
“偉大的牛逼之前都是傻逼式的堅持”,這句話聽起來雖然有點糙,但理不糙啊。每個人都知道改進,但并不是每個人都能堅持下去。
我有個大學同學,做淘寶客的,一開始沒有摸到門路,就很難,堅持了一年,收益甚微。有一天,他不知道哪根筋“錯”了,在淘寶上花了幾百塊錢做了一個網站,界面很丑陋,但 SEO 做得很不錯,慢慢就有人通過百度搜索的關鍵字找到他。
隨著時間的推移,找他的人越來越多,錢自然就賺到了。于是,他成立了一個工作室,很多大學同學都到他那干過,但很多同學干了三五個月后,就堅持不下去,不想干了。
他呢,一直堅持著做,雖然有起有伏,但在鄭州買了一套大四室的房子,又買一輛不算差的車。結婚的時候,我去過他老家,條件不是一般的差,這讓我更佩服他了。
持續改進
人,在天賦上,在出身上,是有差別的,不要明目張膽地忽視這兩點。但是,能夠有所作為的人,你會在他們身上發現一個共同點,就是“持續改進”。
拿寫作這件事來說,我有天賦嗎?如果有人說我有,我是拒絕承認的。但如果有人說我是一個懂得改變,懂得堅持的人,那我只好承認,他是懂我的。
一開始,我只在 CSDN 上寫,后來我同步到各大博客平臺,這就是改變。一開始,我只在知乎上同步文章,沒有回答問題,后來我發現,回答問題的訪問量遠超文章,這是知乎的機制決定的,我改變了。一開始,我不會玩 GitHub,最近一段時間我迷上了 GitHub,這也是改變。
這些改變,都是積極的,并且我還會一如既往地堅持下去,所以我才敢篤定,“明天會更好”。
第三,不斷疊加。
為什么我一直推薦大家去寫博客,并不是因為我嘗到了甜頭,而是因為寫博客本身,最直觀的一點就是,博客的瀏覽量會“不斷疊加”,更深層次的是,寫博客帶來的影響力會“不斷疊加”。
再沒有其他的事情,比寫博客更容易上手,更能帶來不斷疊加的效應了。
很多人會說,我不知道寫什么啊?
學習筆記就可以啊,讀書感悟就可以啊,解決 bug 的方案就可以啊。
還有人會說,我寫了,沒有訪問量啊?
個位數的訪問量總有吧!一開始,除非天賦異稟,大多數人的訪問量都不會特別高,我也是從個位數起步的。
也許還有人說,我寫了,有訪問量,但遇到瓶頸了。
瓶頸幾乎是每個人都會遇到的,“幾乎”甚至可以去掉。遇到瓶頸的時候,有人放棄了,一切化為烏有;有人堅持著,并且尋求改變,也許會失敗,也許會踏步不前,但更多的是收獲,蓄能,為下一次的起飛做好準備。
第四,保持耐心。
我們當前所處的時代,節奏非常快,快到有個 APP 就叫快手。但殊不知,有些事情,慢一點更好。
昨天,我和一個朋友聊天,他說最近接到一個項目,費用大概 9 萬多,工期 35 個工作日。還讓我看了一下需求文檔,說差不多都是增刪改查,應該能完工。
看完需求后,我只能說,我這個朋友真的是盲目樂觀。但這個時代就是這樣,甲方認為所有的項目都很簡單,不外乎增刪改查,找個開源項目在上面改一改,就能完事,能需要多長時間?
你要是說需要一年半載,甲方就會說,“到那時候,花都謝了。”
足球場上,一個教練一年出不了成績,換,甚至半年出不了成績,換。球迷沒有耐心,俱樂部高層也沒有耐心。
電競比賽,一場游戲如果超過一個小時,觀眾就坐不住了,制作方也坐不住,于是比賽時長越來越短,你就會發現,一些醬油位的英雄在一場比賽里窮到只能穿一雙草鞋。
在這樣的時代背景下,我們其實更應該保持耐心,多給自己一點時間。
之前有個讀者私信給我說,自己是轉行學編程的,很辛苦,花了很多時間,但似乎證明自己并不適合學編程。我就問他,你學多長時間了,他說三個多月了。
唉呀媽呀,三個多月真的是一個很短的時間,學編程并不是一件輕而易舉的事情,是需要時間的。我已經有十多年的編程經驗了,但很多時候,我還是覺得自己只是一個剛入門的菜鳥(請允許我謙虛會),還有太多太多的知識等著我去學習。
遇到挫折的時候,能否給自己一點耐心,其實是一種不可多得的能力。表面上的光鮮亮麗,背后都是辛勤的付出,時間的沉淀。
像算法題,一開始刷起來,任何人都會感到很痛苦,關鍵是你得堅持,保持耐心,每天刷一道兩道,不要今天刷 10 道,明天刷 0 道,可能堅持不了一周時間你就放棄了。保持節奏,不要打亂自己。時間就是最好的朋友。
怎樣保持耐心呢?有兩個關鍵點,其一就是降低預期,不要把自己架在一個很高的位置,讓自己上下為難;其二就是全力以赴,做到問心無愧。
Java
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。
版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。