2013年2月12日 星期二

程式員不爭,才能贏





誠實面對自己 建立清楚概念

寫程式的人,初期一定都會有一種不好習慣,似懂非懂
這是一種很恐怖的毛病
你一定會上網找範例
一定會把範例複製貼上,測試行不行得通
如果行的通就稍微修改後貼上交差
如果不行才回頭繼續找
以上應該不少人都會有這樣的經驗過,因為我也有過
甚至出了職場,我還有過這樣的習慣
現在回頭想想,其實這是很糟糕的毛病
因為你永遠都不是在寫你自己的東西,只是把別人的東西拿過來占為己有
也許有人說,不是每個人都是天才,總一定會遇到不會寫的東西
沒錯,我也是,也不否認
但有多少人,在複製貼上完後
會去了解這些被你貼上的code裡面他寫了些什麼
他怎麼寫的,甚至.....他有沒有用拆字串組字串的方式...
另外連去其他地方進行非程式以外的行為呢?
相信我,很多人都不會去檢查甚至去理解
其實這一步驟很重要,如果這一次你就如此放過
下次再遇到同樣的問題,你還是一樣要上網找資料
複製貼上,再交差.....如此的循環....
這樣經驗永遠不會變成你口袋中的東西


承如以前寫的...."程式不會沒有意義寫在裡面"
每一行code都有他的意義存在
如果哪天,要你一行一行說出每個參數的意義
每一行每一字的用法
其實身為寫程式的你,必須要有說的出來的能力
否則,其實你是可以被遲疑的
不要說我尖酸,因為我也曾被如此刁難過
但,就因為有幸年輕時被如此刁難過
才能慶幸,觀念才能被慢慢導正

php 函數再抓取值的時候,取的是name還是id?
javascript在取值的時候,取的是name還是id?
質疑嗎? 好笑嗎?
說真的就我遇到的情況,很多人都弄不清楚
因為很多人都會有一種壞習慣,id 和 name 都取一樣的名稱
問他為什麼,會很理所當然的說 : "以前就這樣" "這是我的習慣"
好一個 "這是我的習慣"
等到函數出了問題,抓不到值的時候找不出問題
問他是抓id 還是 name 說不出來的是一堆人
這是一種不好的習慣,如果可以請儘早改之....


除去炫技 從根基扎起

每個寫程式的人都是獨特的
尤其在open source 和 php 這塊時候
那種獨特的自我意識其實更加的強烈
每個人總會有自己的coding style
尤其寫過兩三年以上的人,更逐漸會有自己的框架和寫法
不是說這不好,而是想對剛入行的新手說....別把那種看似很屌的炫技寫法太早學會
剛起步的你們,最需要的就是穩扎穩打的專業技巧
不是連續接招的快速攻擊
有打格鬥遊戲的玩家都知道,重拳重腳可以造成大量的損血的攻擊
但重拳重腳,無法用在連續接招的連續攻擊上
剛入新手的程式員,如果一開始就學習jquery
那基礎的javascript的概念是什麼?
如何宣告呼叫?
參數定義是什麼?
到了最後又變成複製貼上一族....
我不否認,jquery特效和需求在市場上有一定的量
但,並不是要你就直接跳上學習jquery而不學javascript
不開玩笑,因為真的看過有部落客文章就如此寫
"如果是剛入門,那麼可以先從jQuery開始......"
實在讓人不敢恭維.....
此外只要有接觸到大型一點的專案時候
都會使用到MVC架構,這裡只是希望提醒一下剛接觸程式的新手
MVC架構的寫法,並不建議在觀念和邏輯還並不健全的時候學習
很多好的MVC架構,會把許多的函數的使用方法都簡化
因為已經在底層已經幫你寫好
在使用的時候,只要寫上要呼叫的函數名稱,並再填入函數中
對應的參數,即可完成
這樣的對法,變成了一種文字填空
在有時間壓迫專案的時候
MVC是相當快速的開發工具
但對於新手程式員來說,觀念邏輯都相當不穩定
時間久了,惰性會自然養成
對於成長會有一定的阻礙

建立自我價值 當自己的對手

也許快到了七月的畢業潮,網路上已經開始出現相關的芭樂文章
當然一些前輩說的話一定要聽
但,一定也會有人想問,如何創立自我在公司中的價值
我是個徹頭徹尾的技術本位者 + 自我本位者
我的方法一定不適用,而且還會被說偏激
但這裡我只針對技術方面說,其他人際,還是升遷的部分,網路上太多文章有興趣可以自行google
一定會有人說,創造不被取代的價值,公司自然不會裁員你
創造那種,老闆不能沒有你,自然就會把你留下來
其實以上那兩種說法,不能否認他,但我也不太想承認他
也許,現今失業率高居不下的年代
如何在公司中占有一席之地,然後保住自己的飯碗,比什麼都還重要
但....你不會知道公司什麼時候會倒閉
部門什麼時候會收起來
在過去的五年職場生涯,就遇過兩次這樣的經驗
這種情況,在中小企業中,屢見不鮮
這個月還做得好好的,下個月突然就說部門要收起來
不然就是新創公司,突然說沒收入,突然倒閉
如果運氣好一點進到了大公司,總難免會面臨競爭
你要開始擔心被取代的問題嗎?
還是要擔心表現不好被fire?
"這時候一定會有人說,把重要的核心握在你手上"
"程式除了你之外,沒有人知道怎麼改"
"架構除了你之外,別人不能接手"
這不能說是錯.....但就我來看.....這不是最好的作法
因為你的價值,不應該建立在這種地方上
有人會在程式裡面寫上一大堆的註解
網頁打開後可能有時還會發現註解文字比程式碼多.....
天阿...別鬧了...
你是在寫程式,不是在寫小說

不是說不要寫註解,而是重要的註解和函數
其實應該另外寫在一份文件檔案中才對
在程式中註解,只是要註明這段意思或者文件相對應的位置
好讓...."後續接手的人可以看得懂"
這裡才是我要加重的意思
"後續接手的人"
程式不是只有寫給自己而已,還要寫給以後可能會有人接手的時候可以輕易閱讀
你可能在一家公司中時間待久後,接手的專案越來越多時候
如果以前的專案有東西需要修改,其實這時候已經不太可以在找你修改
雖然東西以前是你寫的,但這種時候公司都會丟給新進人員修改,當作練功
這時候一個專案的好不好在這裡就可以看出來
很多程式員,總會有一種害怕被偷學的心理
甚至越高深的人,會故意寫的很零散,或者寫的很底層去
讓別人看不懂他的實際運作的方式
說真的,這樣有意義嗎?
你把時間心思花在這些.....我認為相當沒有意義的事情上面
不如花在如何讓專案可以更臻至完好
也許觀念不一樣,我的觀念中好的程式和寫法
其實根本不需要在程式中有任何助解
甚至變數名稱的取名就可以讓人一目了然
千萬別亂取什麼 aa bb test 諸如此類的爛名稱當變數
接手過太多這樣的專案,每次總是要花時間去理解前面的人在想什麼
然後才有辦法再修改程式
如果有空,會建議新手程式員可以多看看國外一些神一般等級的所寫的程式
你會發現,其實寫程式也可以寫的寫的很漂亮
有時在看他們的程式的時候,總感覺在看一種藝術作品

Share:

0 意見: