請把程序當門藝術來對待

   在新東家也混了二個月了,參與了兩個子項目,逐漸對身邊的未知程序員開始初步瞭解。一般先是瞭解了技術水平,再試圖從旁打聽工作時間,再把前後信息綜合起來評估這個人怎麼樣。結果讓我很高興,因爲大部分人寫程序還處在隨遇而安的水平,何謂隨遇而安?就是想把某行代碼寫在哪兒就寫在那兒,想怎麼命名變量就怎麼命名,引用不了的對象就搞成static.


   在邊工作的同時,我閱讀公司的基礎庫源碼,以及其它項目的源代碼。總結起來,基礎庫的那部分代碼水平要高很多,其它項目,先不評價功能和代碼性能,就代碼結構就讓人慘不忍睹,經調查還是公司的牛人寫的,公司真是招不到人了。把面向對象的設計,全部寫了面向過程的代碼,可憐的那幾個類應該都是設計人員設計好的,不能不寫的東西。到處充斥着全局函數、宏定義、回調函數、用宏隱藏類成員函數。我感覺就是要故意寫得讓人看不懂,牛人應該都是裝逼的吧!

   結果就是,我們後面做的項目要依賴於前面這些所謂的牛人寫的代碼,難以使用,不用不知道,一用嚇一跳,bug超多。再觀摩一下源代碼,才知道牛人都是怎麼寫代碼的。應該說是公司沒有牛人,所以才讓前面的人寫出這麼低水平的代碼,讓人看不懂,所以自以爲很牛,其實只是來得早,先當了個官。卻無人敢去問津,或指責。於我,也只有悶聲憋氣,畢竟別人是老員工,還是項目經理,我算什麼,還沒有轉正的一外包人員。等那一天,我轉到甲方,我一定想法把他們的代碼申請重構,原因很簡單早晚都得重做,只是時機未到。對於那些寫的醜陋代碼的牛逼哄哄的人,還到處傳教授道。最後的結果是,最近接手的一個項目,讓我重構了全部代碼,直接原因就是聽取那些所謂前人的“傾囊相授”,把面向對象的設計寫成面向過程。寫得一團亂,難以理解,業務難以劃分,讀不懂,只有重構。讓寫代碼的人講講結構和實現思路,都難以自圓其說。leader說,這是他從業以來見過最爛的代碼,當我看到那代碼時彷彿看到了我大學時代的課程設計。很難想像出自三個從業多年的程序員之手。三個人,兩個從業5年,一個從業3年。加起來平均年限比我高。三個人寫了近二個月的代碼,讓我三天重構完,那當然是不大可能,想像中是這樣的。結果只花了一天把結構整理完,再花了一天時間把error解決掉,再花了一天時間把已經存在的邏輯整好。剩下的工作就是測試,兩週過去了,項目第一個版本今天交付。


   寫了這麼多,一直在抱怨,好像與主題無關,我不能當着面說人家水平與工作時間太不匹配了。我只能在這兒寫寫,希望看的程序員,能認真對待自己的程序,尊重一下自己的工作,就算只是爲了生計,只要認真一點,也可以提高工資啊!就算你從業以來不再看書,也不應該是這樣的水平。不要把工作當混飯吃,真對不起天天起早tan黑,還經常加班。



發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章