日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 >

什么叫水平,不是看懂了叫水平,也不是会用了就叫水平,更不是懂得更多才叫有水平,而是知道如何做才能做得更好才叫真正有水平?...

發布時間:2024/3/12 54 豆豆

?? 其實有很多同事、朋友、同行,水平個個都很強的,寫程序也很快,但是他們有一個共同的缺點,就是懂得太多、想法太多、想做得太多但是仔細認真做得太少、做得精的太少、經得起考驗的更少、真正可以實際應用可以廣泛推廣的就更少。

?? 很多人都喜歡大談SOA、IOC、ORM等等,但是對手上的眼前的程序代碼卻沒有多少興趣愛好,也懶得深入研究優化自己的程序,這幾年深刻的意識到,眼前的才是真,真正在用的程序才是真,其他都是虛假飄渺的,把給客戶用的實實在在的程序寫得最好、性能最好,用起來好用,符合客戶的實際需求才是真理。

??

?? 打個比方,曾經我寫了一個函數,一直用得蠻好的,自己認為已經寫得非常好了,同事們也沒在其中找出來過多少Bug,我們在日常開發中天天也在用,所以我想把這個類發布給大家用用,提高一下大家的品質,發布到網絡上后,很多人有下載,也有人在用,也有人反饋過錯誤,但是其中我很佩服一個人“盧騏征”,這個人應該是仔細看了我的代碼,然后給我指出:“吉日,你的代碼還可以優化,有一個地方你可以這么改進一下......”。

?? 我太佩服這樣的人了,我不是想跟別人大談什么這個牛B技術、那個牛B技術,我就想實實在在知道,我的程序還有什么問題,哪里還可以怎么改進?如何寫代碼才更好用,更好讀,別人用起來更方便?

?

?? 例如我寫的一個獲得參數的函數:

代碼 ?1?????????#region?public?DbParameter?MakeInParam(String?targetFiled,?Object?targetValue)
?2?????????///?<summary>
?3?????????///?獲取參數
?4?????????///?</summary>
?5?????????///?<param?name="targetFiled">目標字段</param>
?6?????????///?<param?name="targetValue"></param>
?7?????????///?<returns>參數</returns>
?8?????????public?DbParameter?MakeInParam(String?targetFiled,?Object?targetValue)
?9?????????{
10?????????????SqlParameter?dbParameter?=?null;
11?????????????//?dbParameter?=?new?SqlParameter("@"?+?targetFiled,?targetValue);
12?????????????if?(targetValue?==?null)
13?????????????{
14?????????????????return?dbParameter;
15?????????????}
16?????????????if?(targetValue?is?String)
17?????????????{
18?????????????????dbParameter?=?new?SqlParameter("@"?+?targetFiled,?SqlDbType.VarChar);
19?????????????}
20?????????????else
21?????????????{
22?????????????????if?(targetValue?is?Boolean)
23?????????????????{
24?????????????????????dbParameter?=?new?SqlParameter("@"?+?targetFiled,?SqlDbType.Bit);
25?????????????????}
26?????????????????else
27?????????????????{
28?????????????????????if?(targetValue?is?DateTime)
29?????????????????????{
30?????????????????????????dbParameter?=?new?SqlParameter("@"?+?targetFiled,?SqlDbType.DateTime);
31?????????????????????}
32?????????????????????else
33?????????????????????{
34?????????????????????????if?(targetValue?is?int)
35?????????????????????????{
36?????????????????????????????dbParameter?=?new?SqlParameter("@"?+?targetFiled,?SqlDbType.Int);
37?????????????????????????}
38?????????????????????????else
39?????????????????????????{
40?????????????????????????????if?(targetValue?is?Int64)
41?????????????????????????????{
42?????????????????????????????????dbParameter?=?new?SqlParameter("@"?+?targetFiled,?SqlDbType.BigInt);
43?????????????????????????????}
44?????????????????????????????else
45?????????????????????????????{
46?????????????????????????????????if?(targetValue?is?Double)
47?????????????????????????????????{
48?????????????????????????????????????dbParameter?=?new?SqlParameter("@"?+?targetFiled,?SqlDbType.Decimal);
49?????????????????????????????????}
50?????????????????????????????????else
51?????????????????????????????????{
52?????????????????????????????????????if?(targetValue?is?Byte[])
53?????????????????????????????????????{
54?????????????????????????????????????????dbParameter?=?new?SqlParameter("@"?+?targetFiled,?SqlDbType.Binary);
55?????????????????????????????????????}
56?????????????????????????????????????else
57?????????????????????????????????????{
58?????????????????????????????????????????dbParameter?=?new?SqlParameter("@"?+?targetFiled,?SqlDbType.VarChar);
59?????????????????????????????????????}
60?????????????????????????????????}
61?????????????????????????????}
62?????????????????????????}
63?????????????????????}
64?????????????????}
65?????????????}
66?????????????dbParameter.Value?=?targetValue;
67?????????????return?dbParameter;
68?????????}
69?????????#endregion

?? 當時也費了不少周折,把這個函數寫好,大家用用也很好用,但是我發布到網上后,人家(“盧騏征”)有水平的人就說了,這個可以改進優化,沒必要寫這么長,這就叫做水平,牛X啊,我佩服。

?? 不是把程序寫出來了,就叫厲害了,更厲害的是如何寫才是最好、性能更高,更好用、更簡潔,我按他的指導意思改進了程序的寫法,變成了如下幾行代碼。

代碼 ?1?????????#region?public?DbParameter?MakeInParam(String?targetFiled,?Object?targetValue)
?2?????????///?<summary>
?3?????????///?獲取參數
?4?????????///?</summary>
?5?????????///?<param?name="targetFiled">目標字段</param>
?6?????????///?<param?name="targetValue"></param>
?7?????????///?<returns>參數</returns>
?8?????????public?DbParameter?MakeInParam(String?targetFiled,?Object?targetValue)
?9?????????{
10?????????????SqlParameter?dbParameter?=?new?SqlParameter("@"?+?targetFiled,?targetValue);
11?????????????dbParameter.Value?=?targetValue;
12?????????????return?dbParameter;
13?????????}
14?????????#endregion

?? 以前寫的幾十行代碼,只變成了3行代碼就可以了,過了一夜,我再想想很有可能,其中的兩行代碼也是多余的,應該是寫一行代碼就可以了,先做一個測試,改進后的代碼是:

代碼 ?1?????????#region?public?DbParameter?MakeInParam(String?targetFiled,?Object?targetValue)
?2?????????///?<summary>
?3?????????///?獲取參數
?4?????????///?</summary>
?5?????????///?<param?name="targetFiled">目標字段</param>
?6?????????///?<param?name="targetValue"></param>
?7?????????///?<returns>參數</returns>
?8?????????public?DbParameter?MakeInParam(String?targetFiled,?Object?targetValue)
?9?????????{
10?????????????return?new?SqlParameter("@"?+?targetFiled,?targetValue);
11?????????}
12?????????#endregion

?? 哎呀,幾十行的代碼,用得也很穩定的代碼,其實就寫一行代碼就可以了,這就叫真水平,讓別人也看看自己的代碼,檢查檢查,不是自己覺得好了就是真好,別人都說好才是好,心理舒坦了很多,優化了代碼,也感謝盧騏征的指點。

?

?? 雖然他半年前就告訴我問題在哪里了,我也沒馬上修改,因為還需要考慮穩定性,自己是否有空有精力去修改,這幾天正好心情好,把半年前人家提供的改進好了,心理也好舒坦。

?? 很多改進未必是當場就改進,但是覺得應該這么改是對的,那就早晚會修正好,問題畢竟還需要按輕重緩急的順序來一個個解決。

?

???實實在在的水平就在于:“請告訴我,我應該怎么做才能做得更好,我的程序哪里有問題?如何改進?怎么寫才是更好的?”,不要告訴我,去看RBAC吧,CMMI吧,請給我明確的指點,我不是神,你說個ISO、PMP什么的,我是根本不懂的我自己也學不了,沒那個水平。

?

?

?

總結

以上是生活随笔為你收集整理的什么叫水平,不是看懂了叫水平,也不是会用了就叫水平,更不是懂得更多才叫有水平,而是知道如何做才能做得更好才叫真正有水平?...的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。