It's never too late.
蠻喜歡這句話的,當(dāng)生活中總是充滿了各種抱怨的時(shí)候,這句話總是讓人耳目一新。
當(dāng)我們抱怨的時(shí)候,為什么不動(dòng)手去改變它呢?有人說(shuō)太遲了,what's done is done!
反過(guò)來(lái)思考這個(gè)問(wèn)題,很多事情都已經(jīng)成了定局才讓我們抱怨和后悔,那之前做這些事的時(shí)候,或許就沒(méi)有用正確的方式來(lái)做才造成了現(xiàn)在的樣子。
之所以說(shuō)前面這些,是因?yàn)樽罱欢螘r(shí)間有讀一些書(shū),有做一些事,也有一些思考。
書(shū)是關(guān)于代碼質(zhì)量的,事是關(guān)于實(shí)習(xí)的。
這段時(shí)間經(jīng)歷的事情,可能不論是經(jīng)驗(yàn)豐富的老玩家還是剛剛進(jìn)公司的新人都會(huì)經(jīng)歷的事情。一個(gè)已經(jīng)研發(fā)了兩年的項(xiàng)目,必定是有一份十分厚重的代碼的。往往一個(gè)新手要進(jìn)入這么一個(gè)項(xiàng)目組,真的是十分的沒(méi)有頭緒。
如果再加上管理不夠嚴(yán)格的編程風(fēng)格、積年累月的新功能添加造成的無(wú)數(shù)處代碼修改的話,好像就更難以言表這些代碼的厚重了。如果再加上新人初來(lái)咋到畏手畏腳想低調(diào)做事低調(diào)做人,何況整個(gè)項(xiàng)目組的同事都可能藏龍臥虎身懷絕技怕自己技不如人也不敢太多的怨聲載道,那就更難以釋?xiě)蚜恕?br>
我得到的解釋是這個(gè)項(xiàng)目組前期處于一個(gè)快速開(kāi)發(fā)的過(guò)程。也就是說(shuō),想要達(dá)到的目的就是一個(gè)字“快”。最近項(xiàng)目組又開(kāi)始回爐,想要達(dá)到的目的則是“好”。那么為了“快”,所以就Open to Modification也是能說(shuō)得過(guò)去的。總而言之,如果整體是在朝著好的方向發(fā)展,速度慢點(diǎn)是沒(méi)什么的。
陰差陽(yáng)錯(cuò)之間,在同事的桌子上看見(jiàn)了一本《代碼整潔之道》。于是在IncrediBuild長(zhǎng)達(dá)15分鐘的編譯過(guò)程中,總是可以抽空讀上幾頁(yè)。大約在上班的時(shí)候用這種牙縫時(shí)間看了前面4章的內(nèi)容,每有會(huì)意便悠然蛋疼。說(shuō)句不太好聽(tīng)的話便是——這些正在被compiling的legacy code和Clean Code處于兩個(gè)對(duì)立面,如同青城山上隨處可見(jiàn)的道家八卦圖中的黑白圖案……(我真心的希望我的同事們?nèi)绻匆?jiàn)這篇blog不要有跨省我的沖動(dòng) ^_^ )
實(shí)習(xí)的兩個(gè)月時(shí)間很短,基本上我學(xué)會(huì)了很多快捷鍵。也才意識(shí)到Visual Studio可以像某些職業(yè)SC選手一樣是一個(gè)需要“操作”和“APM”的東西。這對(duì)于我這么一個(gè)進(jìn)公司之前不怎么打斷點(diǎn),不怎么喜歡Step into的人來(lái)說(shuō),算是長(zhǎng)了很多見(jiàn)識(shí)。如何動(dòng)態(tài)的調(diào)試程序,找到問(wèn)題所在的位置,我還有許多要學(xué)。在我看來(lái),打斷點(diǎn)的功夫好比點(diǎn)穴(小白的葵花點(diǎn)穴手……)。大致上,你在打斷點(diǎn)的時(shí)候得對(duì)代碼相當(dāng)?shù)氖煜おq如你在點(diǎn)穴的時(shí)候?qū)θ梭w上的經(jīng)脈穴位十分的熟悉;在打斷點(diǎn)的時(shí)候得十分準(zhǔn)確如同點(diǎn)穴一樣,稍微前一點(diǎn)或者后一點(diǎn)可能都無(wú)法很快查出你想查的問(wèn)題(比如還需要再手動(dòng)執(zhí)行N步,有些過(guò)程相當(dāng)費(fèi)時(shí));當(dāng)然最相似的地方在于——它們都讓事物靜止下來(lái)~
當(dāng)我對(duì)項(xiàng)目剛剛上手,差不多兩個(gè)月的時(shí)間就這么逝去了。于是乎就路漫漫的回到家中開(kāi)始畢業(yè)設(shè)計(jì),如今畢設(shè)的東西做的個(gè)八九不離十了,也有時(shí)間陪陪女朋友看看閑書(shū)玩玩游戲什么的。免不了的卻是止不住思考以后的職業(yè)道路。如何在技術(shù)面上更快的提升,還有在非技術(shù)面上更快的提升。
程序員總是喜歡和公平的事物打交道(Joel on Software),比如計(jì)算機(jī),比如代碼,比如這個(gè)世界的非人情面的所有東西。所以程序員總是很難做到對(duì)周遭人情冷暖處處關(guān)心,各種待人待事的細(xì)節(jié)上也差強(qiáng)人意。這一些從俺們工作室秘書(shū)身上真是學(xué)到很多,讓我覺(jué)得自己有時(shí)候是蠻傻的。在熟人面前這種傻會(huì)是直率或者放肆得有些可愛(ài),不過(guò)換到外人面前可能就有冒犯。女朋友一直叫我有空看看《杜拉拉升職記》,或許下一本要看的書(shū)得是它,而不是《重構(gòu)》 -。-
既然說(shuō)道了《重構(gòu)》,那就再多說(shuō)兩句。它真是一本好書(shū),它真是一本值得看的好書(shū),它真是一本在接手厚重代碼過(guò)后值得一看的好書(shū),它告訴你It's never too late to Refactor!
posted on 2010-05-21 10:29
Charlie 侯杰 閱讀(1945)
評(píng)論(6) 編輯 收藏 引用 所屬分類:
Miscellaneous