1. 程式人生 > >變量命名大部分都是 fuck,shit ,這程序員老哥是被命名逼瘋,還是戾氣太重?

變量命名大部分都是 fuck,shit ,這程序員老哥是被命名逼瘋,還是戾氣太重?

review 業務 就會 tps deb 遇到 你是 成年人 unit

最近一個工作4年的老同事離職了,領導讓我接手維護他的功能並把代碼交給我。

我拿到代碼一看,變量命名大部分都是 fuck,shit 之類的粗話,甚至 for 循環用於 break 的 label 也命名為 FUCK_FOREACH,JUnit 測試導出的文件也帶有 Fuck 字樣,而且通篇沒有註釋,應該就剩數據庫的表命名沒帶粗話了。。。

技術分享圖片

我這裏沒有 code review,貌似領導也不知道,不知道那個老同事經歷了什麽,我的天!!!

你們會在代碼裏帶粗話嗎?

技術分享圖片

「 被命名逼瘋的節奏 」

說真的,看到這些代碼的時候,我下意識的揣測這位老哥,一定是被變量命名給逼瘋了。

當你代碼敲多了,就會深有體會,天知道變量名有多難取?!我絕大數情況下是不會用臟話的,不管是調試代碼還是註釋,除非要用作很強烈的狀語,比如:

var theList - 列表

var theLongList - 長列表

var theFxxkingLongList - 超 TM 長列表

如果逼到讓我不得不夾帶粗話來命名,我一般都會進行自我洗腦:命名最重要的是語義明確,執行的話不管用什麽單詞,編譯後都只是地址而已。

我相信,曾經在代碼裏帶過粗話的,不在少數。

很多程序員英語不好,有時候實在不知道該怎麽描述的時候,比如://這段代碼是用來幹掉一個 bug -> just fuck a bug!

有時候遇到比較蛋疼又讓人來火的 bug,調試時的日誌中可能會寫一些,但是一般問題解決之後,日誌我都會刪除。

命名有時候真的令人捉急,讓人頭大,情有可原。

技術分享圖片

「 小夥兒戾氣太重 」

除了被命名逼瘋,還有一類程序員,戾氣太重,純粹是為了宣泄。

我曾經見過一些程序員,在debug 打 log 的時候會寫 wtf、fuck、shit - -。。。

我在想,這是對公司有多大怨念。說真的,看到別人將粗話寫在註釋裏面的話,只要不影響閱讀就沒事兒。寫在文檔裏面的話,就想掀桌子了。

當然,我也在猜想這些夾帶在代碼中的粗話,是在怎樣的開發場景中誕生的,會不會是加班時的產物呢?也不一定。

之前忘了在哪看到,一個哥們半夜加班時,哭訴重構項目裏的變量全是用食物命名的,此時當事人早已哭暈在廁所。

假如有負面情緒,就自我調整吧,別寫進代碼裏。寫進去可能就沒勁了,被別人看到會感覺你這人戾氣很重,不好相處。

再說,如果是為了效率,這種隨便的字符串不都是 fsdfddaf 就完了,何必f**k呢?

技術分享圖片

說真的,變量命名這塊兒,公司有規定按規定來,沒規定哪那麽多戲。

「 都成年人了,專業點好麽 」

如果變量命名大部分都是 fuck,shit 之類的粗話,這就有點過分了。

說的嚴肅點,沒有職業精神。

不得不說,開發過程,調試過程,思考過程有時候我也會寫。但是,當思路梳理清晰後,我會重新起一個準確的命名。

有時候debug 的時候輸出的調試信息會帶 fuckXXX 的,但是 debug 完了自然就刪了。這就沒事,權當是程序員的自娛自樂。

其實我感覺臟話作為動詞 /助詞都沒啥問題,畢竟不影響別人閱讀代碼。

但是作為名詞或者句子就是很沒水平的行為了,這種人就算不用臟話命名變量,估計也是拼音和 ABC。

技術分享圖片

個人感覺工作是工作,聊天是聊天,和關系親密的朋友之間聊天的話,各種臥槽尼瑪四不四撒怎麽說都沒關系,工作的話還是要以工作的態度來面對,像 fuck 這種表達感情的詞寫在註釋中簡直毫無意義,還不如精準的進行業務描述或者錯誤描述。

說到底,代碼這東西,一個作用是讓機器閱讀,另一個重要的作用是讓人閱讀。一個好的變量名,能幫助閱讀者了解變量的作用,也輔助了對整段代碼的理解。

所以,不管你是新手還是老鳥,務必了解行業規範,切勿為了標新立異而違反規範。

我自己是一名從事了6年開發的老程序員,業余的時候在這裏分享一些互聯網資訊給大家,

變量命名大部分都是 fuck,shit ,這程序員老哥是被命名逼瘋,還是戾氣太重?