舉一反三

十月十日的隔天,一大早上班嚴重的MONDAY BLUE,
努力地打起精神,開工!!

上午的開會及整理待辦事項已經讓我昏昏欲睡,
而下午的問題單,卻讓我邊改程式邊碎碎唸,
該怎麼說呢!! 就是程式很難改起….

不知大家有沒有這樣的經驗,
明知這樣的寫法很笨,明知這樣之後的人會很難維護,
但為了怕改動太多,還是先照原本的方法改.

今天遇到的案例是:
類似的程式重覆的COPY PASTE寫了四次,
很容易改了其中一個,而漏改到其他的,
偏偏這程式的支數又有20多支,每支行數也多….

異動的規格對的辛苦,改出的明細值加總卻老是不對,
邊改邊唸,

「寫這程式的PG有沒有SENCE呀!!」
「什麼叫效能沒法調,明明GARBAGE的部份就一堆….」
「註解都不寫清楚,超難對的」
……. 

愈改愈多支,心一橫,

「就改寫好了,要不然後續BUG不知還會有多少」

雖老大不爽,但還是花時間改寫,把重覆的部份改為統一處理.


有種感嘆,從小老爸就教我要「舉一反三」,
被交付某件事的當下,就要想到後續的動作,
就像叫去餐廳吃飯,會自動找餐具一樣,不用老闆多說.

程式也是如此,在寫前先想想

  • 程式為什麼要這樣寫?
  • 程式是否清楚易懂?
  • 之後想異動,會不會容易維護?

這不是我第一次改別人程式了,但改有SENCE的程式就感覺像是上了堂課,如沐春風,
但爛程式呢? 心情愈改愈糟而已.

既然這支程式掛上了你的名字,就要負上相當的責任,把自己當作品牌來經營,
期許之後的人一提到你,總是豎起大拇指說,「他寫的程式很有品質,很有SENCE」,
就不枉當一位PG了.

老人家總愛碎碎唸,特以本文自勵及警惕之.

[轉貼]如何清除 Management Studio 登入時的伺服器名稱歷史清單

原文網址

1. 刪除 SQL Server 2008 / SQL Server 2008 R2 的 Management Studio 的歷史清單

請在 命令提示字元 或 [開始] / [執行] 下執行以下指令即可清空歷史清單:

DEL "%appdata%\Microsoft\Microsoft SQL Server0\Tools\Shell\SqlStudio.bin"

2. 刪除 SQL Server 2005 的 Management Studio 的歷史清單

請在 命令提示字元 或 [開始] / [執行] 下執行以下指令即可清空歷史清單:

DEL "%appdata%\Microsoft\Microsoft SQL Server\Tools\Shell\mru.dat"

[轉貼]MS-SQL 產生 日期及星期

原文網址

---#### 設定每周的開始是星期幾
SET DATEFIRST 1

DECLARE @STARTDATE DATETIME,
@ENDDATE DATETIME;

---#### 設定要產生日期的區間
SELECT @STARTDATE = SUBSTRING(CONVERT(varchar(8),GETDATE(),112),1,6) + '01',
@ENDDATE = CONVERT(VARCHAR(8),DATEADD(dd,-1,DATEADD(mm,DATEDIFF(m,0,GETDATE())+1,0)),112);
---#### 產生日期跟星期

;WITH CTETABLE AS (
SELECT [Date] = @STARTDATE
UNION all
SELECT [Date] + 1 FROM CTETABLE WHERE ([Date] < @ENDDATE)
)
SELECT
CONVERT(VARCHAR(8),[Date],112) AS [Date],
CASE datepart(DW, [DATE])
WHEN '1' THEN '星期一'
WHEN '2' THEN '星期二'
WHEN '3' THEN '星期三'
WHEN '4' THEN '星期四'
WHEN '5' THEN '星期五'
WHEN '6' THEN '星期六'
WHEN '7' THEN '星期日' END AS [WeekDay]
FROM CTETABLE

「is null」、「= null」的差異

已習慣抓出null的資料,要下where 某某欄位 is null了,
今天臨時被USER問到「is null」、「= null」這兩者的差異在哪?

以下截取MSDN的說明:

http://technet.microsoft.com/zh-tw/library/ms188795.aspx

若要判斷運算式是否為 NULL,請利用 IS NULL 或 IS NOT NULL 來取代比較運算子 (如 = 或 !=)。當兩個引數或其中一個引數是 NULL 時,比較運算子會傳回 UNKNOWN。

http://technet.microsoft.com/zh-tw/library/ms191270.aspx

比較 Null 值時需要特別注意。比較的行為會根據 SET ANSI_NULLS 選項的設定而有所不同。

當 SET ANSI_NULLS 是 ON 時,比較一個或多個 Null 運算式不會產生 TRUE 或 FALSE 的結果,而會產生 UNKNOWN。這是因為未知的值無法與任何值進行邏輯比較。如果運算式與常值 NULL 比較,或是兩個運算式互相比較但其中有一個是 NULL 值,就會發生此狀況。

PART 2

又是相親,這次是從SOPHIA那來的CASE,
說是她前公司的同事,一直想介紹給我認識,就當做是交朋友也行。

我當然是OK,有機會我就去,積極嘛!!

由於約的時間有點早,但人生大事,權重之下提早下班,OK啦!!
(寫到這…嗯….怎覺得九孔上身)

晚上7點左右抵達板橋錢櫃,SOPHIA已經先到了,
「女生從南港過來有點塞車,要等他一會」SOPHIA說,
閒談中SOPHIA說了她最近的慘況、目前正在發展的事業。
真心希望她能在上海成功發展….或許以後就可以靠她吃穿,哈!!
蘇董~~~~~叫大聲點有保祐喔!!

女主角出現,她叫NANA,
中文是個要起立+立正站好的名字-逸仙,
很有趣的巧合,也是個開玩的梗,可從這方面下手。
(PS.擬定作戰計劃可是很重要地)

有人說男女生的緣份在第一眼就確認了,
而這第一眼印象給我的觀感卻不怎麼好,
穿這樣是去上班的嗎?
打扮休閒到像是要出國渡假,
長得漂亮,不過女生化了妝,很難說的準,
而我也不太喜歡太過妖嬌型的,這不是我的菜,
很可惜,第一眼的分數並沒有幫她加到分。
(PS.我覺得NANA像是大一點+女性化的FAY)

「你好我是JASON」
「你好我是NANA」
簡單的打招呼…

活潑大方,她是從事SALSE方面的吧!! 我猜
果然沒錯,資策會的約聘人員,負責招生相關的事宜,
工作地點在南港,至於工作內容就沒深究了。

「怎麼今天只有妳們二個來」NANA問,
(果然沒錯,她是被騙來的)

「就其他人有事呀!! 像VICKY家裡有事…」SOPHIA說,
(回的好)

「那怎麼會找他來」NANA又問,
(很顯然是針對我這不速之客)

「平時就會約出來唱歌呀!!」SOPHIA說,
(假唱歌真聯誼是也)

好不容易有我說話的機會,趕緊接著說,
「是呀是呀!!」「SOPHIA很照顧我的」

「像之前就有一起去花蓮等地方玩」SOPHIA補足了我的存在感。

接下來的點歌及唱歌,場子完全熱不起來,
這情況倒是第一次遇到,
SOPHIA、NANA不是在講工作上的事,
要不然NANA就是用手機在上FB。

唱一輪下來卻發生了讓我不怎麼愉快的事,

「你怎麼都點女生的歌呀!! 而且都還會唱」NANA突然的冒出這句話,
「你一定是宅男」NANA很篤定的下了結語,

這….我不怎麼喜歡別人用宅男來形容我,
臉應該是當場垮下來吧!!

印象中NANA之後還說了好幾次同樣的話,也記不清楚了。
只能說是個不知死活的傢伙!!

快點唱完走人吧!! 我心中只剩這樣的想法。

結帳時….
在來之前本打算由我來出就好,只是看這情況又沒說是相親,我還是裝死就好。

故事還沒結束喔!!
就在大廳準備回家時,因天色已晚,
身為邀請人的SOPHIA當然要顧好NANA的安全,
要怎麼回家呢?計程車?錯!!
NANA準備打電話回家叫爸爸來載。

這…公主病來著吧!!

NANA還補上一句,「上次也是這樣,叫我爸從家裡開車來載我」
「因為我是獨女呀!!」

嚇!! 好裡家在….這女生碰不得的。

動怒

如果只能靠著職位壓人,對著PG說:「我是SA還是你是SA,照我說的做就對了!!」
這麼做是褻瀆SA這個職位;
若還是個被PG考倒的SA,那只能對他說:「資訊業是很危險的,速速離去吧!!」

————————-
該位同事是個PM等級的SA,輝煌事績我就不多說,
不是個稱職的PM(詳”我的FB人生”裡面提到那位很天的PM)
而這次更讓我否定掉他SA的能力。

~其一~
一次上班時間,我聽到該位SA抱怨起大陸的某位PG,
說他問題怎麼那麼多,跟他說照著我的方式做就好,
還在那爭論說這樣的作法和原來的方式沒有差別。

「到底是你是SA還是我是SA呀!! 照著我的方式去做就好」

一聽到這句話….雖然不關我事,但卻讓我怒了….
再怎麼SA都不該對PG說出這樣的話,
SA的責任不就是釐清問題嗎?
不回答問題,僅要求對方照著自己的方式做。

運用權勢壓人…這是哪門子的八股作風。

還記得公司的政策是希望提升大陸那的能力,做SD或是SA的工作,
但現在?PG有疑惑,SA叫他不要問太多,
然後去和PG的頭頭說,叫那位PG話不要那麼多….

如果我是PG,會當場回嗆,「沒路用SA,被考倒就見笑轉生氣」

~其二~
這的SA就像橋樑般的角色,聯繫著大陸PG和客戶需求的往來,
或許是因為負責的事相對多,無法一一過濾,
中間的傳達就像過水一樣地,MAIL轉寄、CC來CC去。

果不期然出問題了!!

客戶反問說,為何規格書就有寫的問題還拿來問?
這不信任感也造成客戶認為程式有問題自己拿來改會比較快。

客戶的長官來問了,為什麼有找外包協助,但他們還是自己改程式,
檢討會議….檢討報告….一一而來…

該位SA生氣了,他覺得是大陸那的問題,
沒好好處理問題,老是犯低級的錯誤。

他發飆了,向大陸那的領導說你們的PG有多糟多糟…

就像人踢狗,狗咬貓,貓捉老鼠,老鼠咬蟑螂,蟑螂去撞牆之間的關係一樣,
一環接著一環。

「沒那個肚子就別吃那個瀉藥」我想這麼對那位SA說。
既然你是SA,又是溝通的橋樑,就要扛些責任,而不是把責任全往外推。

但以我這麼鄉愿的性格,對方是前輩,這些話是不敢說的,我還是在一旁當鄉民看戲就好XD