當接手到一包垃圾時 別怨嘆 那只是剛好而已
開發一個系統要經過很多的人力 物力 財力 時間
而這些成本的目標 是建立一個讓發出需求者的需求轉化為實際的運作體系
因此 一個團隊是用什麼麼眼光看待這個目標 就能形成什麼樣的結果
若只是一個敷衍的角度 這個系統的開發 到完成 中間充滿了因為敷衍產生的隱含炸彈
那些炸彈 可能讓系統有時穩定 有時不穩定
說要找出問題 也找不出
說沒問題 好像又太美化
也許一個資料庫SELECT * 和一個只將需要的欄位抓取出來的結果
當操作人數少的時候 當系統小的時候 影響並不大
但是 當那個表格恰好有一百個欄位 而系統又非常龐大 使用者也多時
要找到那行SQL很不容易 因為十幾萬行程式碼 中間又換了六七家廠商
後一家廠商 並不知道前一家廠商寫了什麼 只知道大概能運作
因此接續開發 那諸如此類的小問題 集合累積起來 就會讓系統呈現沒有BUG卻又不穩定
又如FOR迴圈 當判斷到目標時 應該要break跳出迴圈
但很多為了趕時間 常常忽略
當者個迴圈要判斷二十個狀況 且每個狀況都要呼叫外部的web sevice或API時
那就會差很多..如當地三次已經判斷到 程式可以往下執行時 卻還要多去判斷另外十七個無意義的判斷
當一個龐大的系統 裡面充斥 上百個這種編譯不會出錯 測試不會出錯 的狀況時
沒人知道系統到底出了什麼問題 只是覺得不穩
加上一個系統換了好幾手 後手要趕功能 不會無聊去看前手寫的程式碼
也看不太懂 有些又包成DLL...這樣永遠不知道錯誤在哪
因此 若是以一個藝術家的角度來看 開發一個系統
就當成製作一件藝術品
藝術品要有美麗的外觀(視覺設計 美工)
要有質感(安全 效能 穩定 維護 延展 擴充)
那在整個建構的過程中
工程師也會用一個藝術的角度 想去完成一件完美的藝術品
每個細節都要完美無缺
那當系統完成時 當然是不一樣的
當然 那些只是理想
一個系統的開發牽涉到的現實面 往往無法去當成一個藝術品製作的
例如:無能的管理者 不會溝通領導者 出賣技術部門的業務 要幫別人擦屁股 業務亂接案子 甚至和客戶私下達成協議 老闆只聽小人的建議 公
司給的待遇不理想 每次獎賞都只是那些動嘴砲的人 發獎金只有那些不做事打嘴砲的人拿到...
這樣的狀況下 誰會去把理想做出來
絕對沒有 沒有也是正常的
往往其實人不是聖人 誰都要顧經濟 誰都要生活 也要生存
因此
別說當成什麼藝術品了
現實狀況下
都幾乎是當成垃圾在處理而已...
大環境下
理想不能當飯吃
夢想不能填肚子~~
因次 當接手到一包垃圾時 別怨嘆 那只是剛好而已 那只是常態而已........