付費限定

業餘大叔程式心得筆記#8:寫程式的不確定性與多重人格/葉光釗

更新於 發佈於 閱讀時間約 4 分鐘

自己寫程式往往有兩個盲點:測試資源不夠,因而難以全盤瞭解用戶使用情形的全貌;另一個則是只有自己跟自己對話時,往往難以做出正確的判斷和決定。無論個人或團隊開發,都有各自的優缺點。

葉光釗
曾任台灣微軟研究開發部副總經理、公共事業群技術長,是 IT 業界經歷長達二十年的老兵。對微軟全球技術的開發實務有深入了解,並有獨到見解。tuna.toa

複雜程式的不確定性

懂得電腦運作原理的人都知道,它的運作是一種「決定性」(deterministic)的機制。簡單的說,程式碼一但寫成,就決定了運作的順序;原則上只要給定同樣的參數,不管重複運作幾次,順序和結果都會是一樣的。
那這裡為什麼會提到不確定性呢?
雖然運作的本質沒變,但是當外部環境的輸入有變化時,程式碼的運作途徑 (execution paths)就會大不相同;所以在全部的程式碼中,實際真正會運算到的比例(或從另一個角度來說,就是「可以被人為測試到的」),就稱為「覆蓋率」(code coverage)。
舉微軟的Word為例子,它的覆蓋率約略只有30%左右。問題的核心是我們開發者並不知道:
在終端使用者的環境當中,倒底是哪30%會被用到,這就是不確定的所在。
最近寫的程式也面臨了同一個問題:由於使用者操作介面的複雜度超高,有各種各樣的邊界條件要處裡,而我的測試資源非常有限(就是我一個人而已),那麼我應該把重兵放在哪裡?

本文已獲作者授權並經本站重新編輯,未經書面許可禁止轉載。本站文章提供付費授權轉載或出版,請參閱授權說明、或來信 ask@tuna.to 洽詢。如果您喜歡這篇文章,請按「喜愛」圖像、也歡迎分享到社群網站上!
以行動支持創作者!付費即可解鎖
本篇內容共 1922 字、0 則留言,僅發佈於吐納商業評論你目前無法檢視以下內容,可能因為尚未登入,或沒有該房間的查看權限。
avatar-img
1.4K會員
2.0K內容數
為您送上頂尖作者的最新管理與科技產業思維。
留言0
查看全部
avatar-img
發表第一個留言支持創作者!
有一段時間,惠普(HP)曾經是全球個人電腦和行動運算技術的領導者,而筆者剛好就在50年前那個正要起飛、到處充滿著奇妙科技的年代成為HP的一員。
本文為「企業使命」系列文章的最終篇,講述德州儀器2008年新執行長Rich Templeton再次改變企業使命與經營方針,藉由透徹瞭解產業風向來改善企業體質與結構,讓該公司逐漸攀升,在2017年繳出
有一段時間,惠普(HP)曾經是全球個人電腦和行動運算技術的領導者,而筆者剛好就在50年前那個正要起飛、到處充滿著奇妙科技的年代成為HP的一員。
本文為「企業使命」系列文章的最終篇,講述德州儀器2008年新執行長Rich Templeton再次改變企業使命與經營方針,藉由透徹瞭解產業風向來改善企業體質與結構,讓該公司逐漸攀升,在2017年繳出
你可能也想看
Google News 追蹤
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
“所有人寫的程式會變成指令 每一道指令是由CPU執行 而CPU所能理解的指令類型有限”
Thumbnail
親愛的讀者 感謝你提出這個富有挑戰性且極具時代感的問題。程式設計,這門技術宛如一把打開數位世界的鑰匙,讓人得以探索無限的可能性。在這個科技日新月異的時代,程式設計的魅力不僅僅在於其實用性,還在於它能夠改變我們看待問題和解決問題的方式。 然而,你提問的核心不僅是程式設計本身,而是它是否能成為你
Thumbnail
親愛的讀者 感謝你提出這個問題。這是一個現代社會中很常見且重要的疑惑。隨著科技的迅猛發展,程式設計似乎成了人人必備的技能,讓許多人產生了焦慮和壓力。讓我們從多個角度深入探討這個問題,希望能為你解答心中的疑惑,並提供實用的建議。
Thumbnail
《為什麼這樣工作會快、準、好》一書中說明:我們可以透過訓練自己用機率思考的方式,做出更好的選擇。機率思考即是設想未來的各種可能性,在腦中同時想著各種相互衝突的情境,並推估各種情形發生的比例,就可以比較準確無誤做出預測,並選擇較適當的方案。 除了機率思考之外,另外我們還需要學會「假設」,透過正確假設
上一篇主要在說如何做決定的,這篇就來寫寫面試前該做什麼準備。
Thumbnail
追求乾淨的程式碼是好的開始,但不要陷入過度設計的陷阱,導致程式難以維護。實際上,考慮團隊狀況和專注於解決真正的問題更為重要。了解公司的規模和現實情況,適時調整工作重心。技術不斷進步,使得寫程式變得更加容易,但這並不意味著工程師的角色會消失。在選擇技術時,也要考慮隱形成本有時簡單的解決方案反而更有效。
Thumbnail
資料的統合 在程式設計中,其他人通常關心是否注意到執行的細節。作為程式設計師,主要應該關心的是程式的表現,但往往忽略了很多細節,這些細節可以決定程式的好壞。程式的好壞很大程度上取決於資料的統合,也就是資料是否被正規化。 不同類型的資料在系統中呈現一致 正規化可能對一些人來說聽起來很抽象,有些人
Thumbnail
系統的分析與規劃 在談到程式設計時,首要的是進行系統的分析與規劃。程式設計的起點通常是系統分析與規劃,這涉及到如何分析和設計系統的大原則和方向。為了達到預期效果,重要的是擁有對產業的清晰邏輯認識和深入了解。 進行深入了解 若要進行系統分析,必須對企業的設計和程式設計的對象進行深入了解,以充分理
Thumbnail
對理工出身的我而言,「人的感受」真的很難處理,因為你控制不了對方的感覺。 你想嘛!工程師寫程式,寫錯了,改一改重新編譯,我們沒有必要去對程式碼噓寒問暖呀~
Thumbnail
隨著理財資訊的普及,越來越多台灣人不再將資產侷限於台股,而是將視野拓展到國際市場。特別是美國市場,其豐富的理財選擇,讓不少人開始思考將資金配置於海外市場的可能性。 然而,要參與美國市場並不只是盲目跟隨標的這麼簡單,而是需要策略和方式,尤其對新手而言,除了選股以外還會遇到語言、開戶流程、Ap
Thumbnail
嘿,大家新年快樂~ 新年大家都在做什麼呢? 跨年夜的我趕工製作某個外包設計案,在工作告一段落時趕上倒數。 然後和兩個小孩過了一個忙亂的元旦。在深夜時刻,看到朋友傳來的解籤網站,興致勃勃熬夜體驗了一下,覺得非常好玩,或許有人玩過了,但還是想寫上來分享紀錄一下~
“所有人寫的程式會變成指令 每一道指令是由CPU執行 而CPU所能理解的指令類型有限”
Thumbnail
親愛的讀者 感謝你提出這個富有挑戰性且極具時代感的問題。程式設計,這門技術宛如一把打開數位世界的鑰匙,讓人得以探索無限的可能性。在這個科技日新月異的時代,程式設計的魅力不僅僅在於其實用性,還在於它能夠改變我們看待問題和解決問題的方式。 然而,你提問的核心不僅是程式設計本身,而是它是否能成為你
Thumbnail
親愛的讀者 感謝你提出這個問題。這是一個現代社會中很常見且重要的疑惑。隨著科技的迅猛發展,程式設計似乎成了人人必備的技能,讓許多人產生了焦慮和壓力。讓我們從多個角度深入探討這個問題,希望能為你解答心中的疑惑,並提供實用的建議。
Thumbnail
《為什麼這樣工作會快、準、好》一書中說明:我們可以透過訓練自己用機率思考的方式,做出更好的選擇。機率思考即是設想未來的各種可能性,在腦中同時想著各種相互衝突的情境,並推估各種情形發生的比例,就可以比較準確無誤做出預測,並選擇較適當的方案。 除了機率思考之外,另外我們還需要學會「假設」,透過正確假設
上一篇主要在說如何做決定的,這篇就來寫寫面試前該做什麼準備。
Thumbnail
追求乾淨的程式碼是好的開始,但不要陷入過度設計的陷阱,導致程式難以維護。實際上,考慮團隊狀況和專注於解決真正的問題更為重要。了解公司的規模和現實情況,適時調整工作重心。技術不斷進步,使得寫程式變得更加容易,但這並不意味著工程師的角色會消失。在選擇技術時,也要考慮隱形成本有時簡單的解決方案反而更有效。
Thumbnail
資料的統合 在程式設計中,其他人通常關心是否注意到執行的細節。作為程式設計師,主要應該關心的是程式的表現,但往往忽略了很多細節,這些細節可以決定程式的好壞。程式的好壞很大程度上取決於資料的統合,也就是資料是否被正規化。 不同類型的資料在系統中呈現一致 正規化可能對一些人來說聽起來很抽象,有些人
Thumbnail
系統的分析與規劃 在談到程式設計時,首要的是進行系統的分析與規劃。程式設計的起點通常是系統分析與規劃,這涉及到如何分析和設計系統的大原則和方向。為了達到預期效果,重要的是擁有對產業的清晰邏輯認識和深入了解。 進行深入了解 若要進行系統分析,必須對企業的設計和程式設計的對象進行深入了解,以充分理
Thumbnail
對理工出身的我而言,「人的感受」真的很難處理,因為你控制不了對方的感覺。 你想嘛!工程師寫程式,寫錯了,改一改重新編譯,我們沒有必要去對程式碼噓寒問暖呀~