【CSDN 編者按】在工作當(dāng)中,時(shí)刻保持對(duì)新鮮事物的興趣是很重要的。尤其是在這個(gè)科技和信息迅速發(fā)展的世界當(dāng)中,只有對(duì)不同情景、科技、以及方法保持開放的態(tài)度,才能最大化我們的工作效率。
原文鏈接:
https://henrikwarne.com/2023/09/10/what-i-have-changed-my-mind-about-in-software-development/
未經(jīng)允許,禁止轉(zhuǎn)載!
作者 | Henrik Warne
譯者|Ric Guan 責(zé)編 | 屠敏
出品 | CSDN(ID:CSDNnews)
我非常喜歡 Jeff Bazos 的這句話:
“任何不經(jīng)常改變想法的人都大大低估了我們生活的世界的復(fù)雜性。”
“Anybody who doesn’t change their mind a lot is dramatically underestimating the complexity of the world we live in.”
最近我一直在思考我對(duì)軟件開發(fā)的看法發(fā)生了哪些改變, 以下是我想到的:
-
自行記錄代碼:我曾經(jīng)認(rèn)為編寫代碼中并不需要任何標(biāo)注,只要記住類、方法和變量的名稱就足以理解程序的作用。多年來,我意識(shí)到一些標(biāo)注是必要且有用的?,F(xiàn)在,當(dāng)有一些特別棘手的問題發(fā)生時(shí),無論是架構(gòu)中,還是在域中,我都會(huì)添加標(biāo)注。這樣每次我回到寫了標(biāo)注的代碼時(shí),我都感到慶幸我花時(shí)間去做了。因?yàn)槲铱梢院芸斓目炊覍懥耸裁?,以及我之前遇到的問題。
單元測(cè)試私有方法:幾年前,我寫了一篇名為 “單元測(cè)試私有方法” 的博客文章,其中我認(rèn)為不妨將它們打包為私有,這樣就可以輕松地為它們編寫測(cè)試。然而,有幾個(gè)人評(píng)論并認(rèn)為我可以通過公共接口測(cè)試私有方法。經(jīng)過一番思考,我最終同意了他們的觀點(diǎn),并改變了我的做法。
使用集成開發(fā)環(huán)境(IDE):很多年前,我在編寫代碼時(shí)使用的是 Emacs。我對(duì)此很滿意,并沒有特別覺得缺少什么。然而,有一天,我的同事向我展示了 IntelliJ IDEA 的強(qiáng)大功能。我當(dāng)時(shí)就被震撼到了,自此再也沒有回頭了。最大的區(qū)別是導(dǎo)航 — 使用導(dǎo)航在代碼庫(kù)中移動(dòng)要容易得多。如今,我無法想象不使用集成開發(fā)環(huán)境會(huì)怎樣。
使用調(diào)試器: 我以前喜歡使用日志語(yǔ)句和 printf 來排除故障。它簡(jiǎn)單有效,并適用于多種情況。然而,幾年前當(dāng)我開始編寫 Go 代碼時(shí),我的同事向我展示了調(diào)試器在測(cè)試用例失敗時(shí)探索程序狀態(tài)是多么簡(jiǎn)便。我以前使用過調(diào)試器,但他向我展示了它們的一個(gè)很好的使用場(chǎng)景。
居家辦公:即使在疫情期間,當(dāng)我全職在家工作時(shí),我也對(duì)遠(yuǎn)程工作持懷疑態(tài)度。然而,我現(xiàn)在改變了主意,我認(rèn)為居家辦公很棒??梢宰屛覟橐郧盁o法工作的公司工作。不必通勤是另一個(gè)很大的優(yōu)點(diǎn)。缺點(diǎn)是我仍然懷念和人面對(duì)面的互動(dòng)。但總的來說,我認(rèn)為優(yōu)點(diǎn)大于缺點(diǎn)。
使用 ChatGPT:當(dāng) ChatGPT 出現(xiàn)時(shí),我對(duì)它的功能印象深刻。然而,我對(duì)它在軟件開發(fā)中的具體運(yùn)作方式有點(diǎn)懷疑。但我的同事告訴了我他使用 ChatGPT 來幫助開發(fā)的諸多場(chǎng)景。所以我決定花更多的精力來看看如何使用它。對(duì)我來說,它主要用途是執(zhí)行較小的獨(dú)立任務(wù)。例如,生成 Python 腳本的初稿、編寫 SQL INSERT/UPDATE 觸發(fā)器,或者為我提供一個(gè) sed 正則表達(dá)式,用于從日志行中刪除初始時(shí)間戳(如果存在)。在所有這些情況下,它都節(jié)省了很多時(shí)間。
我改變主意的事情夠多了嗎?我不知道。但偶爾檢查一下你對(duì)如何看待開發(fā)軟件的信念絕對(duì)是值得的。在上述許多案例中,我需要其他人向我展示或說服我其他優(yōu)秀的工作方式。因此我的結(jié)論是,協(xié)作和結(jié)對(duì)編程對(duì)于傳播好想法非常重要,并且也可以提高工作效率。
那么在軟件開發(fā)方面,你又改變了哪些想法?
版權(quán)聲明:本文內(nèi)容由互聯(lián)網(wǎng)用戶自發(fā)貢獻(xiàn),該文觀點(diǎn)僅代表作者本人。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如發(fā)現(xiàn)本站有涉嫌抄襲侵權(quán)/違法違規(guī)的內(nèi)容, 請(qǐng)發(fā)送郵件至 舉報(bào),一經(jīng)查實(shí),本站將立刻刪除。