Coding,命名是個技術活

2022-07-05 12:30:19 字數 2648 閱讀 9679

日常編碼少不了的事情就是給**命名,**中命名的重要性在專案前期不會有太大感受,因為是邊做邊命名,**天天見,自然會加深記憶。但到了後期上線後半年一年後,再回過頭看的時候,我擦,這個變數是啥意思?這個方法不對呀,不是更新使用者狀態的嗎? 接下來就是各種吐槽,誰寫的**,這麼爛,翻一下提交日誌,哦?我寫的,趕緊悄悄的改過來。

經常性我們吐槽別人的**爛,那麼你是如何定義你認為的爛**,它們爛在** ?

這個問題說的具體點,可能經常我們在沒理清業務邏輯的情況下去直接看別人的**,相當於通過**反推業務邏輯,別人的命名、程式設計思維跟自己的習慣不一致,需要時間去消化理解他的邏輯和習慣,然後加上**排版亂七八糟,一堆if else,還摻雜著各種奇怪的命名,魔鬼數字,omg,簡直不要太爽。以上綜合起來,大概就是大家眼中認為的爛**吧。

簡要總結下:

這裡是建議先搞懂業務邏輯和相關的實體或資料庫表,最好是自己簡要畫出流程圖或時序圖輔助理解**,展開說的話比較多,後面有機會單獨

寫一篇吧

體現在各種介面、方法、變數的命名不規範,**格式排版混亂,過長方法,無注釋或不詳細等,注釋這塊最坑的不是沒有注釋,而是錯誤的注釋。自己腦補下畫面

體現在**邏輯不清楚、冗餘**、廢棄方法、深層的巢狀等,怎麼優化,也值得單獨寫幾篇

可以看到命名在裡面占有一席之地,那麼如何做好**中的命名,且往下看。

先給出結論,乙個好的命名最最最關鍵的一點,見名知意,

見名知意,

見名知意,重要的內容重複三遍,並加個底色。

不要怕長

我工作中碰到不少人有個命名習慣,我稱為半命名方式,看個例子,定義乙個業務需求的實體類,正常見名知意的命名是這樣的businessrequirement,但是,他們覺得這樣太長,他們會這樣

busrequi、(各省一半)

businessreq(後面省一半)

businessxq(一半英文、一半拼音,洋不洋氣

)這樣的命名完全不具有可讀性,還容易產生歧義。所以,不要怕長,能讓人和有道詞典讀懂是前提。

看個springboot中的命名

長嗎?但肯定能讀懂對吧。

但是有一類是可以簡化的,就是行業內大家公認的術語簡稱,比如你想整個ip工具類,那麼你可以這樣命名iputil,就沒必要整成這樣internetprotocolutil,因為ip這個詞在業內大家都懂,就可以簡寫。

準確準確就是命名要符合當下的業務場景,比如我老早之前做的考試類專案中有個題目實體,同事採用的命名是problem,顯然放這裡是不合適的,最後糾正為question。要做到準確,還是比較考驗英文功底的。

具體具體就是能正確表達變數或類所指向的**含義,例如我們定義了乙個代表軟體版本號的陣列,可能會這樣定義

int array

=new

int ;

陣列倒是能看懂,但是單看這一行**並不能搞清楚幹什麼用,放在具體的**邏輯裡結合上下文**,倒也能推導出來陣列中定義的具體是什麼,但是增加的閱讀**的難度,好一點的當然是下面這樣

int versionnumberarray

=new

int ;

說清楚具體含義,表示的是什麼陣列,而不是只抽象的表達個陣列的概念。

我見過乙個專案從**到資料庫整體命名都是拼音簡寫形式,說實話拼音簡寫對業務不熟悉人來說很難識別,而且時間一長完全是懵逼的,完全得靠猜。

拿上面的業務需求來說拼音整出來ywxq,拼音組合可以有很多種解讀。專案得以持續維護的關鍵是他們有詳細的字典說明文件,實際上就是上篇文章說的公司或團隊有一套自己的標準就行

但是可想而知仍然很痛苦,除非是個別領域內的專業詞彙,英文很難表達,可以嘗試拼音解決,其他情況還是盡量用英文命名。

好的命名就是做到見名知意,具體遵循以下幾點:

1、不要怕長,專業術語行業內有簡稱,可用簡稱

2、用詞準確

3、表達具體

4、盡量使用英文

5、上面沒提到的一點,公司有規範,優先符合公司規範

未入行之前,很多人總是好奇,英文基礎對編碼到底有沒有影響,到底有多大,這裡就可以看到,是有影響的,起碼命名的時候有障礙,需要借助有道詞典或code if這樣的工具。

而且越往後英語的重要性就愈加明顯,比如你可以直接讀一手英文資料、文獻等。

最後寫完了老感覺爛**這個詞用的很不好,奈何詞窮,先這麼著吧。

裝系統是技術活

hoho,偶的ibm t61壞了之後,重灌系統已經花了我幾天時間了。首先,用一鍵還原還真是不可靠。失敗鳥 其次,番茄花園的盤也不可靠。總是檔案缺失 再次,t61安裝windows xp時遇到了no hard disk found issue 這個問題糾纏了很久,剛開始一位硬碟因為還原失敗出現壞道,一...

APP時代,市場選擇是個技術活

android 系統的開放性使其得以迅速發展,也為國內的應用商店市場帶來了機會。據國內應用商店行業人士估計,目前,我國較大的 android 應用商店約十幾家,而 android 論壇則 多如牛毛 不止幾百家。應用商店的快速發展,也為使用者選擇上的帶來了困難,幾十上百家的應用商店,到底那一家更好更適...

職場是個技術活 馬未都

親人要生,生人要熟,熟人要親.職場跟你喜不喜歡沒有關係 喜歡的,不喜歡和討厭的 乙個人跟喜歡的人共事,這不是能耐 如果能跟他厭的人共事,那他是個人才。因為與喜歡的人無話不說,所以和你喜歡的人共事更危險,一定要保持一定的距離 工作中打交道,而生活中不打交道 你該知道的你慢慢就會知道,不知道的你瞎打聽就...