開(kāi)發(fā)工具的使用工具或被工具使用
背景一
今天線(xiàn)上突然遇見(jiàn)一個(gè)BUG,測(cè)試反應(yīng)在之前的版本并沒(méi)有出現(xiàn)過(guò),這一塊覆蓋測(cè)試在當(dāng)前版本之前沒(méi)有發(fā)現(xiàn)問(wèn)題,然后根據(jù)需求,當(dāng)前版本不應(yīng)該修改這個(gè)出現(xiàn)BUG的文件,然后我就接過(guò)來(lái)處理這個(gè)bug,由于業(yè)務(wù)比較復(fù)雜,理解起來(lái)有點(diǎn)困難,改了三次沒(méi)有通過(guò)測(cè)試后,我就有點(diǎn)心浮氣躁,開(kāi)始責(zé)怪當(dāng)初寫(xiě)這部分代碼的同事(該同事已經(jīng)離開(kāi)當(dāng)前團(tuán)隊(duì)),代碼中確實(shí)有很多問(wèn)題,沒(méi)有注釋,SQL格式很亂,而且大小寫(xiě)混雜,簡(jiǎn)直就是一個(gè)泥潭很快就要把我陷進(jìn)去了,然后測(cè)試同事提起之前版本測(cè)試沒(méi)有問(wèn)題的事情,然后另外同事開(kāi)始上一個(gè)版本的測(cè)試,發(fā)現(xiàn)確實(shí)沒(méi)有問(wèn)題,然后開(kāi)始追查git提交記錄,發(fā)現(xiàn)最后一個(gè)版本是我提交的,然后對(duì)比之后發(fā)現(xiàn),我提交的版本中我把兩個(gè)方法中的重復(fù)代碼進(jìn)行重構(gòu)之后抽離一個(gè)新的公共方法,看起來(lái)沒(méi)有問(wèn)題,idea的代碼重復(fù)檢測(cè)確實(shí)提示有重復(fù),但是實(shí)際上兩個(gè)重復(fù)的代碼中有一個(gè)方法的調(diào)用不一樣,就比如一個(gè)使用的新增,一個(gè)是刪除,然而idea重構(gòu)代碼之后只保留一個(gè)更新的代碼,新增方法直接就被拋棄了,而我也沒(méi)有進(jìn)行測(cè)試,所以直接導(dǎo)致了這次線(xiàn)上事故.
背景二
最近因?yàn)榘鏅?quán)問(wèn)題,公司開(kāi)始審查禁用Navicat數(shù)據(jù)庫(kù)操作軟件,之前一兩年我一直使用這個(gè)工具,這次禁用之后,一時(shí)間找不到好的替代品,一天之內(nèi)我換了三個(gè)軟件,直到現(xiàn)在用的mysql-workbranch,之所以換這些,要么有的用的不順手,有的不帶代碼提示,寫(xiě)起SQL來(lái)總是不順手,感覺(jué)少點(diǎn)什么,似乎沒(méi)有Navicat就不會(huì)寫(xiě)了.
思考
這件兩件事情發(fā)生之后,讓我重新審視這個(gè)重構(gòu)快捷鍵和Navicat,甚至是整個(gè)開(kāi)發(fā)工具體系,為了能快速高效的寫(xiě)代碼,開(kāi)始使用的這些智能工具,最后盡然成了問(wèn)題的起因,想想現(xiàn)在社會(huì)確實(shí)約來(lái)越多的智能產(chǎn)品,充斥我們的身邊,然而他們給我們帶來(lái)的不僅是方便,更多的是一種習(xí)慣性的約束,前段時(shí)間我還嘲諷現(xiàn)在的人工智能幾乎都是人工智障,現(xiàn)在居然被智障給耍了,這不得不說(shuō)是一種諷刺,實(shí)際上智能工具帶給我們的應(yīng)該是更快捷的操作,同時(shí)人的思考力決定了這個(gè)人的價(jià)值,不應(yīng)該讓工具來(lái)帶代替我們思考,一旦思考都被替代,人也就失去了價(jià)值.
總結(jié)
我們常說(shuō)開(kāi)發(fā)中的編碼能力,這個(gè)說(shuō)的是你對(duì)編程語(yǔ)言的掌握程度,對(duì)開(kāi)發(fā)認(rèn)知的掌握程度,而不是你對(duì)工具的掌握程度,你去面試的時(shí)候面試官也不會(huì)問(wèn)你,你對(duì)什么開(kāi)發(fā)工具使用精通,而在開(kāi)發(fā)中卻連hello world都不會(huì)寫(xiě),程序員界不需要這樣的程序員.