static的不恰當應用

2022-02-03 14:31:13 字數 793 閱讀 9552

最近總是和static鬧彆扭,看下面這個例子(取自我客戶的乙個例子)

using

system;

using

system.threading;

namespace

statictest

}public

class

database

private

static

void

close()

public

static

void

runprocedure()

}public

static

void

runprocedure2()}}

}在命令列下面跑這個程式,假如叫做test.exe,那麼你用test.exe>1.txt,等10-20秒,用乙個好用的editor開啟1.txt,查詢close:1或者open:2。大部分時候很幸運,能找到這個本不應該出現的字串,為什麼?

設想conn是idbconnection, comm是idbcommand,那麼你也許會想起來,在偶然的情況下,客戶那裡的**

1. 資料庫鏈結明明是open的,但是偶然的情況下,會提示已經close

2. 相同sp,不同的引數,偶然的情況下,會讓客戶的資料亂掉。如製單人明明是張三,偶爾的情況下會變成李四。

這個**不難,按照singleton模式,加乙個lock,兩層的null判斷就可以了。但是針對這個database,我的經驗更傾向於使用instance,而不是static。static如果不小心,就會產生莫名其妙的錯誤。

不恰當的 import 會導致的問題

在 python 中,import 語句會被執行,也就是在匯入某個模組的的類 函式等時候,會執行該模組,此時如果該模組中有例項化的物件或者可以執行的函式,那麼就會執行。用乙個工作中遇到的問題來解釋 關於業務的描述可以忽略 在執行工裝測試套時,正確填寫好需要測試的工裝ipc的資訊後,發現實際執行的是預...

針對CRM的兩種不恰當論調

一直以來,市場上對crm都存在著兩種不恰當的論調。一種是悲觀論,也就是失敗論,說企業實施crm這個失敗率太高了,甚至還有人列舉數字說有70 的都不成功 另一種是天真論,盲目樂觀,說只要上了crm,客戶就會滿意了,銷售就會提高了,小公司也敢跨國集團了。力點說,這兩種論調都是不可取的,首先crm是一種工...

不恰當的使用for迴圈,會使速度慢千倍

測試發現,不恰當的使用for迴圈語法,會使查詢效率慢千倍.謹記.todo 測試發現.兩種不同的for寫法,list中46000條資料.效率差了1000多倍.2016年4月6日 novelbio fans.fan public void testarray long time3 system.curr...