每個(gè)職場(chǎng)中人都知道做事情要專業(yè)這個(gè)基本道理,但很多十幾年的職場(chǎng)老油條都未必是真正意義上的專業(yè)人士获列。專業(yè)性的第一條便是具備責(zé)任心谷市。對(duì)于這一點(diǎn)沒(méi)有人會(huì)說(shuō)自己沒(méi)有責(zé)任心,但回顧一下工作中的表現(xiàn)吧击孩。例如作為程序員來(lái)說(shuō)迫悠,是把代碼寫完編譯通過(guò)就提交給測(cè)試人員,等著反饋了問(wèn)題再去修改嗎巩梢?這就是不專業(yè)的表現(xiàn)创泄,負(fù)責(zé)任的做法應(yīng)該是程序?qū)懲曛缶鸵WC功能是完整自測(cè)通過(guò)的。
有的程序員也許會(huì)強(qiáng)調(diào)時(shí)間緊括蝠,任務(wù)急鞠抑,能完成功能就不錯(cuò)了,再花更多時(shí)間去測(cè)試忌警,那后面堆積的工作就更加完不成了搁拙。這種片面強(qiáng)調(diào)時(shí)間緊張的說(shuō)法也是站不住腳的,Bob大叔作為一名美國(guó)碼農(nóng),在他早期職業(yè)生涯一樣要面對(duì)苛刻的時(shí)間要求感混。貌似在軟件工程領(lǐng)域端幼,時(shí)間永遠(yuǎn)都是不夠的,這一點(diǎn)還真是不分國(guó)界了弧满。
在做了幾個(gè)糟糕的項(xiàng)目之后婆跑,Bob大叔痛定思痛,決定不能再這樣在低水平的層級(jí)中無(wú)限循環(huán)下去了庭呜。他決心成為一個(gè)專業(yè)的程序員滑进,他使用了很多方法論以及工具來(lái)保障軟件產(chǎn)品質(zhì)量。例如對(duì)于代碼的態(tài)度募谎,他的看法就是凡是自己寫的每一行代碼扶关,都要有相應(yīng)的測(cè)試代碼。這看起來(lái)似乎是一件難以完成的工作数冬,但一開(kāi)始沒(méi)有這樣的決心节槐,那得到的結(jié)果永遠(yuǎn)都是低水平的重復(fù)。
Bob大叔推崇測(cè)試驅(qū)動(dòng)TDD開(kāi)發(fā)方法拐纱,就是在實(shí)現(xiàn)業(yè)務(wù)邏輯之前先寫好單元測(cè)試代碼铜异。這樣做的好處是充分保證業(yè)務(wù)代碼都經(jīng)過(guò)了功能測(cè)試,并且后續(xù)增加新功能可以快速檢驗(yàn)對(duì)既有代碼的影響程度秸架。而不是加一段代碼之后還要花大量時(shí)間驗(yàn)證現(xiàn)有功能是不是正常揍庄。同時(shí)TDD方法可以倒逼程序員思考業(yè)務(wù)邏輯的設(shè)計(jì)是否合理,因?yàn)轳詈系锰o的代碼是無(wú)法測(cè)試的东抹。
負(fù)責(zé)任的程序員還應(yīng)當(dāng)保持旺盛的學(xué)習(xí)熱情蚂子。當(dāng)然,對(duì)于中國(guó)的碼農(nóng)們來(lái)說(shuō)缭黔,都知道學(xué)習(xí)的重要性食茎,可有時(shí)候也會(huì)面對(duì)職業(yè)倦怠的問(wèn)題。例如每天都有新鮮事物冒出來(lái)馏谨,層出不窮的技術(shù)框架董瞻,剛學(xué)會(huì)用的東西轉(zhuǎn)眼就過(guò)時(shí)了。
所以對(duì)于技術(shù)的學(xué)習(xí)田巴,我覺(jué)得可以從道與術(shù)兩個(gè)方面來(lái)看钠糊。道為上,術(shù)次之壹哺。道所包含的應(yīng)該是那些基礎(chǔ)的思想與理論抄伍,例如計(jì)算機(jī)體系結(jié)構(gòu)、操作系統(tǒng)理論管宵、經(jīng)典的算法截珍,以及軟件工程理念等攀甚。而術(shù)所包括的則是編程語(yǔ)言的用法、技術(shù)框架的功能岗喉、開(kāi)源軟件等秋度,這些拿來(lái)就能用的東西。
顯然钱床,道的內(nèi)容是長(zhǎng)遠(yuǎn)重要但不緊急荚斯,術(shù)的內(nèi)容是當(dāng)前重要且緊急。因此我們總是把時(shí)間花在當(dāng)前重要的事情上查牌,而對(duì)長(zhǎng)遠(yuǎn)有益的事情卻是一再拖延事期。這樣就會(huì)陷入術(shù)的坑里,疲于應(yīng)付手頭的工作纸颜,而無(wú)法得到在境界上的提升兽泣。
這對(duì)我來(lái)說(shuō)也是要不斷提醒自己的,絕對(duì)不能陷入在技術(shù)的細(xì)節(jié)里胁孙,卻忽視了技術(shù)之道的學(xué)習(xí)唠倦。