2022開發上的一些常見技術問題整理

 

本篇文章不涉及具體業務邏輯,單純從技術的角度談論(.net,sql,正則表達式)

以下爲是  好友/同事  問我的一些問題的 整理.

 

1.SQL 部分語法及函數 不熟

   在sqlserver 裏面, 有一個語法, if exist ...else ..., 但是這個語法, 在 oracle 裏面沒有

  在oracle裏面實現 就需要另外想辦法了.(純sql查詢/ sql+C#代碼 / 函數,存儲過程)

 

2.C# 基礎的函數使用不熟

 

2.1 初始化一個Dictionary<int,string>的字典,並且給初始數據

     一開始我想到的是 (1):

   Dictionary<int,string>dict = new Dictionary<int,string>();

   dict .add(1,"張三");

   dict .add(2,"李四");

 

    其實更簡潔的寫法爲(2):

    Dictionary<int,string>dict = new Dictionary<int,string>{(1,"張三")),(2,"李四")}; 

    有些很基礎的知識,沒怎麼用,就忘記了.或者說習慣性的用(1) 導致 忽略了 (2) .

 

3.正則表達式,解決問題的關鍵

有一些業務, 需要用到正則表達式做模糊匹配, 但是我發現 同事/朋友 對這個 真的不是很熟,以至於一些項目/方案 束手無策.

常見的匹配,比如匹配數字,日期,郵箱,ip地址,數值範圍 (1)

複雜匹配: 某一段格式的文本, 範文本標籤(xml格式,html格式) (2)

 

對於(1) 可以通過具體的練習,查閱先關的 正則表達式語法, 對照着看,對照着練, 練上幾個小時,一天 ,基本 就學會了,

對於(2) 有很多種不同的寫法, 對正則表達式的理解不同,寫出來的表達式就不同,有的便於書寫,比如(.+?),有的 則是複雜的精確匹配,比如   [\s]{0,1}|[\w]{1} 等等

 

如果對(1)都不是很清楚,直接去寫(2) 自然是會花更多時間,有時候寫出來的還會有錯誤,或者 兼容性不好,文本變一下,就匹配不上了.

 

回顧我自己關於寫正則表達式,在2013年的爬蟲項目,得到了強化鍛鍊,連續21天寫正則表達式! (正式工作內容就是寫正則表達式)

所以現在我寫正則,對照api看下, 基本不會有什麼問題. 很快也能自己做校驗, 或者看懂別人的正則的意思,並且找出對方的不完善之處.

這個不像VS編譯器會直接告訴你 哪裏寫得不對,完全是個人經驗,這種經驗有助於 區別一般的程序員,還是比較強的程序員.(別人知道,但是不會,你會,你就比別人牛)

 

 

PS:以上都是別人問我的一些問題,我做了一下整理. 我就當學習和提高自己. 溫故而知新.(知道再多也沒屁用,沒有漲工資,但是開心)

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章