《代碼整潔之道》學習體會之一:做事專業

每個職場中人都知道做事情要專業這個基本道理,但很多十幾年的職場老油條都未必是真正意義上的專業人士。專業性的第一條便是具備責任心。對於這一點沒有人會說自己沒有責任心,但回顧一下工作中的表現吧。例如作爲程序員來說,是把代碼寫完編譯通過就提交給測試人員,等着反饋了問題再去修改嗎?這就是不專業的表現,負責任的做法應該是程序寫完之後就要保證功能是完整自測通過的。

有的程序員也許會強調時間緊,任務急,能完成功能就不錯了,再花更多時間去測試,那後面堆積的工作就更加完不成了。這種片面強調時間緊張的說法也是站不住腳的,Bob大叔作爲一名美國碼農,在他早期職業生涯一樣要面對苛刻的時間要求。貌似在軟件工程領域,時間永遠都是不夠的,這一點還真是不分國界了。

在做了幾個糟糕的項目之後,Bob大叔痛定思痛,決定不能再這樣在低水平的層級中無限循環下去了。他決心成爲一個專業的程序員,他使用了很多方法論以及工具來保障軟件產品質量。例如對於代碼的態度,他的看法就是凡是自己寫的每一行代碼,都要有相應的測試代碼。這看起來似乎是一件難以完成的工作,但一開始沒有這樣的決心,那得到的結果永遠都是低水平的重複。

Bob大叔推崇測試驅動TDD開發方法,就是在實現業務邏輯之前先寫好單元測試代碼。這樣做的好處是充分保證業務代碼都經過了功能測試,並且後續增加新功能可以快速檢驗對既有代碼的影響程度。而不是加一段代碼之後還要花大量時間驗證現有功能是不是正常。同時TDD方法可以倒逼程序員思考業務邏輯的設計是否合理,因爲耦合得太緊的代碼是無法測試的。

負責任的程序員還應當保持旺盛的學習熱情。當然,對於中國的碼農們來說,都知道學習的重要性,可有時候也會面對職業倦怠的問題。例如每天都有新鮮事物冒出來,層出不窮的技術框架,剛學會用的東西轉眼就過時了。

所以對於技術的學習,我覺得可以從道與術兩個方面來看。道爲上,術次之。道所包含的應該是那些基礎的思想與理論,例如計算機體系結構、操作系統理論、經典的算法,以及軟件工程理念等。而術所包括的則是編程語言的用法、技術框架的功能、開源軟件等,這些拿來就能用的東西。

顯然,道的內容是長遠重要但不緊急,術的內容是當前重要且緊急。因此我們總是把時間花在當前重要的事情上,而對長遠有益的事情卻是一再拖延。這樣就會陷入術的坑裏,疲於應付手頭的工作,而無法得到在境界上的提升。

這對我來說也是要不斷提醒自己的,絕對不能陷入在技術的細節裏,卻忽視了技術之道的學習。

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