01
常收到一些在校非計算機(jī)軟件學(xué)生的提問,編程難嗎?我也想學(xué)編程?
編程難嗎?對于這個問題,我想大多數(shù)人都會認(rèn)為難,我也不例外。但難在哪里?
不同的人有不同的理解,因?yàn)榫幊瘫旧淼木S度不一樣的,我想最根本的,編程之所以難,難在其復(fù)雜性的控制。
回頭看看自己剛?cè)腴T時寫的代碼,是不是有點(diǎn)懷疑,這代碼真的是我本人寫的嗎?如果是的話,那么恭喜你,你進(jìn)步了不少,編碼質(zhì)量發(fā)生了質(zhì)的飛躍。
編程是一種溝通,溝通是一種藝術(shù)
編程難嗎?難在哪里?看完這篇文章或許你就明白了
有次,項(xiàng)目進(jìn)度比較緊急,項(xiàng)目遇到一個bug,同事張工正在跟進(jìn),可跟進(jìn)了兩天毫無頭緒,領(lǐng)導(dǎo)安排我協(xié)助他一起排查。
我們的項(xiàng)目發(fā)布了幾個版本了,上線后一直都相安無事。之所以出現(xiàn)這個bug,是在開發(fā)這個版本時,有位同事在項(xiàng)目里加了兩個方法,總共100行代碼,于是乎,試著把這個兩個方法,注釋掉,bug沒有了。
我把出現(xiàn)問題的根源鎖定在這100行代碼里。剛開始,一行一行看,并沒有發(fā)現(xiàn)問題。緊接著,把整個頁面都啟動了調(diào)試模式,也沒有發(fā)現(xiàn)問題。
還是毫無頭緒,最后,在項(xiàng)目剛啟動時初始化話一個對象,而后這兩個方法其中一個方法又重新了發(fā)起類似請求,把之前請求的某個對象給覆蓋掉了。
這才定位了bug的根源。定位了bug,接下來就好辦了。
有時候一個看似簡單的問題,我們要花一兩天的時間,甚至更多,來跟進(jìn)處理,有時,因?yàn)槁┝艘粋€寫錯一個符號,而引發(fā)了其他bug。
我想編程難的地方的就是這里。編碼的時候自己覺得自己思路清晰,等寫完了,不知不覺隱藏了bug。
編程難嗎?難在哪里?看完這篇文章或許你就明白了
02
我之前分享過一篇文章《這種調(diào)試法,作為一名程序員,你值得擁有》說的是關(guān)于小黃鴨調(diào)試法。相信小黃鴨調(diào)試法
不只是針對軟件開發(fā),工作上有些事情要是一直沒有頭緒的時候我們也可以嘗試用這個方法。當(dāng)我們在試圖表述自己的想法的過程中,自然地在促使自己去理清思路,重新思考問題。如果沒有玩具小鴨子也可以考慮向其它事物傾訴,比如桌上的花草,鍵盤鼠標(biāo)。這樣對我們解決問題有一定的幫助。
小黃鴨調(diào)試法能減少我們對編程的難度,提高編碼質(zhì)量,對減少程序bug有一定的幫助。
編程,并不是簡單的寫代碼,其中還包括了選型的難度,采用什么架構(gòu),什么語言,都是難點(diǎn)。
編程難嗎?難在哪里?看完這篇文章或許你就明白了
編程的難度在于自身,也在于成本和風(fēng)險的控制。一周做出來的編碼質(zhì)量和一個月做出來的項(xiàng)目質(zhì)量還是有很大差別的。
編程難,需要我們戒驕戒躁,沉下心了,做技術(shù)是需要匠心的。編程難嗎?難,但我們因此就不退縮,不學(xué)了,相信勇敢的你一定會越挫越勇。你認(rèn)為呢?