分類彙整: 職場

清楚表達程式意圖的重構招式

用以上這樣的模式來重構 legacy code,程式的意圖會很清楚地浮現出來,也會直接具體地關連到問題領域業務邏輯的語言,而不是一大串的 if-then-else 或是 for 迴圈的語法,這有助於不同觀點的相互溝通。你可以從主要流程中具體明白程式在做什麼,而如果需要瞭解實作的細節,則可以進一步去參考那些很簡單的物件化之小函式。由於不同關切點的分離,程式變得更簡單而且容易測試,對後續的程式維護甚至想要增加功能的需求來說,都會得到莫大的助益呀。 閱讀全文

分類: 分析設計建模, 溝通, 生活感觸, 編程技巧, 職場, 設計原則 | 2 則留言

以泛函編程增進功能的可測性

最近同人就碰到一個實例,讓我體會到以泛函編程(FP)典範增進功能的可測性。其實,以前遠在美國的 Perter Ho 就曾向包括同人在內的幾位點空間的朋友,分享過相同的觀念,而同人則是藉由最近的實例而對這樣的觀念有更深刻的體驗。 閱讀全文

分類: 分析設計建模, 問題解決, 生活感觸, 編程技巧, 職場, 設計原則 | 發佈留言

查詢的宣告式語意

本來第二篇打算要寫剖析命令列的宣告式語意,不過同人覺得我原先的設計還不夠好,於是就暫時先把它擱置下來。結果一擱就擱了好久,慢慢地也讓我覺得沒有必要重新實作命令剖析列的宣告式語意,因為畢竟會使用到的機會並不多。其實命令列剖析的宣告式語意和前一篇文章的設計原理應該是一致的,因此同人後來決定要跳過它。剛好近看到有朋友討論相關的議題,激發我完成系列文章的動力,這一篇所要探討的主題正是有關於查詢的宣告式語意。 閱讀全文

分類: 分析設計建模, 學習, 編程技巧, 職場, 設計原則 | 2 則留言

管轄區域的分析樣式

其實以管轄區域分析樣式所發展的資料模型,並不會與資料驅動編程的概念圖相去太多,比較大的差別只在於是否考慮多對多關連的情況。然而經過領域概念分析的過程的好處是,讓我們可以用概念性的表達來略除許多不必要的繁複細節,展現出抽象思考的力量。當然它很困難,但它卻是做好系統分析不可或缺的能力,是值得投注心力學習的技能。 閱讀全文

分類: 分析設計建模, 問題解決, 生活感觸, 職場, 設計原則 | 發佈留言

一次到位是什麼?

政治人物說治水要做到「一次到位」,而我心中的疑問卻是「治水這東西我明白,但『一次到位』是什麼?」。 閱讀全文

分類: 利害關係人, 問題解決, 新聞, 生活感觸, 系統思考, 職場 | 發佈留言

訊息拆解組合的宣告式語意

一般而言,程式碼的立即運算是比較符合人們想法直覺的演算法,也就是依據上一個運算的結果來決定後續的演算邏輯。但對較複雜的程式邏輯而言,立即運算常會形成多重運算路徑的歧路而使程式的開發與維護變得更繁複,面對這種狀況也許我們需要採用另一種典範來簡化設計;也就是延後運算的處理,等到需要得到答案時才一次求解計算出結果,省卻許多繁複的條件判斷或迴圈的控制。在這裡同人想發表一系列文章分享四種不同主題延遲運算,它們都是以 C++ 語言實作的延遲運算,包括訊息拆解與組合、拆解命令列、資料表的查詢、以及搜尋 Xml 找到符合的資料。

首先,這一篇文章我們先來談談延遲運算在訊息拆解與組合的應用。 閱讀全文

分類: 分析設計建模, 學習, 寫作, 生活感觸, 編程技巧, 職場, 設計原則, 軟體開發 | 2 則留言

狡兔死必然走狗烹?

同人認為「飛鳥盡,良弓藏;狡免死,走狗烹」的恐懼會凝結解決問題的創意,取而代之以預測解決方案的程序與制度,這將使個體乃至於整體發展的停滯與僵化為代價。就像塔羅牌惡魔原型給自己套上枷鎖一樣,沉迷於物質表相而喪失心靈內在的力量,而必然會停滯發展逐漸走向衰退而招致失敗的厄運。 閱讀全文

分類: 問題解決, 學習, 專案團隊, 思考, 新時代, 易經思維, 生活感觸, 神話, 組織, 職場, 領導 | 發佈留言

崇尚成功與不滿之情

崇尚成功的想法會讓人迷惑而失去做自己的自由,反而花費時間和努力去達成外界的期望,為了更穩定的收入、安逸的生活、以及身份、名望和地位而不敢面對內在做真實的自己,這並非明智之舉。要成為有智慧的工作者,要注意不要一心一意只求成功而不惜以喪失生命創造的自由為代價。 閱讀全文

分類: 利害關係人, 問題解決, 專案團隊, 思考, 新時代, 溝通, 生活感觸, 神話, 職場, 衝突, 閱讀, 領導 | 發佈留言

為什麼敏捷沒有效?

敏捷為什麼會沒有效?同人以為不是因為敏捷不適用,沒有依據現實環境來調適敏捷方法及實務、或是沒有讓成員熟練調適過的流程,都會導致敏捷的失誤。然而再大的失誤都比不上忽略外部觀點的優越感、過度樂觀、和認為一切都在掌控中的心態作祟。敏捷不需要依賴技術、效率與控制,而是重視關係的相互信賴、整體協調與參與促成良性互動,因為後者會讓人回到外部觀點的具體和客觀,它們比前者更能發揮較大的力量。 閱讀全文

分類: 利害關係人, 品質文化, 問題解決, 學習, 寫作, 專案團隊, 思考, 溝通, 生活感觸, 組織, 職場, 開發流程, 閱讀 | 發佈留言

開發者的集體智慧

上禮拜參加了Agile 臭皮匠聚會,會中討論到 Planning Poker 的相關議題,讓我想到之前在閱讀《再想一下:好決策的關鍵思考術》看到「數大即不同」的觀念,覺得很有趣。後來同人在 Scrum Community in Taiwan 看到有關管理層遇上敏捷的討論,我看到一句話讓我想到《領導的技術》這本書談到領導力量與組織關係的觀點。這兩個事件讓我意識到有趣的關連,想到可以寫這篇文章來分享我看開發者集體智慧的觀點。 閱讀全文

分類: 利害關係人, 問題解決, 專案團隊, 專案規劃, 思考, 溝通, 生活感觸, 組織, 職場, 開發流程, 閱讀, 領導 | 發佈留言