編程走過的路

從最開始接觸編程到現在快兩年時間了,已經由當初的完完全全小白到現在的越學越知道得少。有一些個人的感受,無關對錯,只是記錄一下。

1. 基本的英文水平

這個基本的英文水平指的是你可以看懂各種技術,框架的英文文檔。如果這個基本的出發點都沒有,其實我個人覺得還是很吃虧的。當初在上手Laravel的時候,旁邊的小夥伴看到我直接看的是英文文檔,非常驚訝「我草,你都看英文的啊,這麼裝逼」。其實個人覺得這根裝不裝逼沒有關係,只是一種身為代碼工作者的基本要求,連文檔都得依賴中文,慢慢等吧

2. 善用Google

個人認為,如果一個開發者還是沒用善用Google,而是依舊依賴於百度,那麼在我眼裡,我確實是有那麼一點鄙視你的,因為從我的個人經驗(雖然只有不到兩年)來說,在編程過程中的問題,80%可以由仔細看文檔解決,15%可以由Google解決,剩下的5%拼的是經驗和智商。而在使用Google的過程中,基本的英語能力又得提出來說說了,因為同一個問題,同樣的關鍵字,你在Google和百度搜索出來的結果完完全去是兩個世界,百度幾乎對我沒啥幫助,而Google幾乎是認真讀完搜索結果的前三條就可以解決遇到的問題,最多5條。所以,每次我聽到有人抱怨Google被牆而不想花每月十幾塊錢去開個VPN的時候,我都是一副很驚訝的表情,明明就那麼點錢就可以換來的網路自由,你就捨不得...

Advertisements

3. 良好的編程習慣和風格

這個對於寫過一定量代碼的人來說會有很大的感受。函數的命名,變數的叫法等都是很重要的事。我個人覺得用拼音來命名函數和變數是非常low逼的一件事,就連基本的英文單詞都不會么?就連程序員的基本素養都沒有么?就拿上次隔壁寢室的同學來問的問題來說,他說一個PHP新手,問我怎麼將以下json數組的相應值取出來:

{

"zt":true,

"xs":{

"xh":"201214109302",

"xy":"gg"

}}

對,相應的值就是xs下面的xhxy,你知道這啥么?

xs:學生 xh:學號 xy:學院

gg呢?不是哥哥?不是偶吧,而是共管(公共管理學院簡稱);那zt呢,沒錯就是狀態!你連一個簡單的status都不會么?真牛逼

Advertisements

我當時簡直瘋了,雖然說這個很簡單,但我當時真的不想多說什麼。。。

Jeffrey有一句話說得很好:

Write the code the way you speak it.

對,這才是代碼。代碼的最終目的不是為了讓機器懂,而是為了讓人看懂,並且要看得舒服。所以我一貫認為,寫代碼應該是一件理所當然的事。

至於風格規範,對於一個寫PHP的程序員來說。盡量嚴格按照psr-2或者psr-4風格吧,如果實在不行,用IDE吧,用PHP-CS-Fixer吧,不要寫一堆自己一個月之後也看不懂的代碼了。那樣浪費的時間往往比你想象要多。

4. 注重平時積累和重構

平時的積累往往就是體現在遇到問題時找到的解決方案。你對解決問題的方案有沒有徹底理解?在這基礎上有沒有更好的解決方案?遇到的問題有沒有總結起來?一些精彩的代碼片段有沒有讀通,它的關鍵之處,它的精妙的點是什麼?常用的代碼塊有沒有自己的代碼庫?

我通常的做法是將遇到的問題列在自己的todo裡面,如果在Google上找到了很漂亮的解決方案,我會收藏到Pocket里,晚上睡覺之前都會認真過一遍,如果有需要,時不時翻出來看看。對於一些常用的代碼塊,比如發送郵件的代碼塊,一些常見的數據表設計,處理上傳圖片等代碼,我通常都是直接粘貼在在Dash裡面的,到需要用的時候,我都是直接複製過來的,不要覺得複製代碼可恥,反正我覺得這還挺能提高我的代碼效率的。

至於重構,還多你之前寫的代碼你還能看懂不?能看懂你還能寫得更好不?這些代碼還能更靈活不?時不時帶著新的眼光看看之前寫的代碼,很多時候你會出現靈光一閃的時刻「這樣寫不是更好么」,然後啪啪啪將代碼改了。我將這些靈感的出現歸結為知識積累和經驗增加。

5.健康很重要

不要熬夜,不要熬夜,不要熬夜。

我之前有個一段時間每天晚上都看視頻看到很晚,然後白天睡覺,這樣堅持了一個多月,這個月里沒啥運動,就連我平時最愛的籃球都沒有碰。後來打過一次籃球之後才知道原來自己都這麼虛了,一次突破之後已經累成狗,跟以前打兩個小時不累的狀態實在差太多。所以,還是要健健康康,畢竟勤奮和健康是不衝突的,不要想著自己感動自己,最後把自己的身體累垮了...

Advertisements

你可能會喜歡