iT邦幫忙

softwareengineering相關文章
共有 81 則文章
鐵人賽 自我挑戰組 DAY 1
再戰軟體工程 系列 第 1

技術 『量化工程師的忙碌度』-- 你是哪一個

『好忙啊,好忙啊!』身為工程師,時不時地就有這種心情吧?在產品發展的過程中,隨著功能越來越多,客戶需求變更,或是緊急修正線上bug,每天每天的工作忙碌度都不太一...

技術 【Day 09】配接器 設計模式(Python)

前言 上一篇我們用 Python 簡單的幾行程式,就可以實踐工廠方法設計模式,本篇繼續討論另一個設計模式 -- 配接器(Adapter)。 配接器(Adapte...

鐵人賽 Software Development DAY 13

技術 Day 13 「難兄難弟」 單元測試、Code Smell 與重構 - Data Clump 與 Primitive Obsession 篇

圖片截自三立新聞 與筆者年紀相當的朋友,肯定還記得小時候有個非常紅的電示節目叫「龍兄虎弟」吧。當時可謂萬人空巷,紅到整個節目被挖角到友台去變身「龍虎綜藝王」,搞...

鐵人賽 Software Development DAY 7

技術 Day 07 「Tell. Don't Ask.」 測試與依賴:測行為

2021 IT 鐵人 Day 07 測試與依賴:測行為 今天來聊「不回傳值的命令」的使用場景與測試。 Query 與 Command 程式行為,大多不外乎 Qu...

鐵人賽 Software Development DAY 27

技術 Day 27 「能省則省」Clean Architecture ft. CQRS

大家有看過以前鄉下那種燒柴的大灶嗎? 圖片截自爆廢公社 記得以前小時候,阿公阿嬤家有這種燒柴的大灶,阿公下田幹活時,阿嬤就去到處撿柴回來堆在院子裡,晚上要洗澡時...

鐵人賽 Software Development DAY 26

技術 Day 26 「一個巨星的誕生」Entity、Repository 與單元測試

通常一個活動,最後登場的都是主角吧?理應如此,筆者記得有一年的金馬獎頒獎典禮,主辦單位不知道哪根筋打到,突然就把「最佳男主角」跟「最佳女主角」的獎項,挪到典禮中...

鐵人賽 Software Development DAY 3

技術 【Day 06】領域驅動設計的戰略設計(Strategic Design)

前言 我們常會使用業務性質來界定領域範圍(Bounded Context),例如,採購、銷售、庫存、運輸、會計...等,一般而言,這並沒有問題,但是,回到中台架...

鐵人賽 Software Development DAY 3

技術 【Day 03】初探領域驅動設計

前言 上一篇談到戰略資訊系統的分層設計,要如何進行呢? 中大型企業一般會請管理顧問公司或IBM/HP...等資訊服務公司,協助規劃,辦理一些共識營的活動,擘劃企...

技術 如何使用 UML 序列圖對 MVC 框架進行建模?

MVC(或模型-視圖-控制器)是一種流行的軟件框架,用於成功有效地將用戶界面與底層數據模型相關聯。由於編程語言 Smalltalk 在 1970 年代首次定義了...

鐵人賽 Software Development DAY 15

技術 Day 15 「一切皆空」單元測試、Code Smell 與重構 - Null 篇

一切皆空,影片來源:YouTube 一般人以為佛教說的空,,等於什麼都沒有,是消極並悲觀的,其實不是。世上宗教追溯到最後,大多都來自對眼前事物起源的探討,佛教也...

鐵人賽 Software Development DAY 24

技術 Day 24「小步快跑」Service 與單元測試(上)

筆者前陣子蠻喜歡路跑的,但跑了很久,成績卻一直沒有明顯進步,為此感到因擾。後來有一天,一位朋友跟我說,我的步頻太慢,導致跑步過程無意識做了太多不必要的動作,因此...

鐵人賽 Software Development DAY 19

技術 Day 19 「完美不完美」TDD 的困難之處

圖片截自聯合新聞網 筆者最近在看一個邀請影視明星來進行專業運動的節目:「全明星運動會」。節目是蠻有趣的,這卻讓筆者不禁思考,為什麼真正專業的運動員,甚至是國手,...

鐵人賽 Software Development DAY 3

技術 【Day 05】領域驅動設計的啟動

觀察的視角 我們要如何描述一個系統呢? 可以從不同的角度觀察,好比瞎子摸象,你摸到甚麼部位,系統就像那一個局部,那就慘了,因此,建議不要局限於方法論,應該從各種...

鐵人賽 Software Development DAY 10

技術 Day 10 「如入鮑魚之肆」從測試聞出 code smell:萬惡之源 ---「重複」

Day 10 「如入鮑魚之肆」從測試聞出 code smell:萬惡之源 ---「重複」 好好寫測試,輕鬆聞出 Code Smell 孔子說:「如入鮑魚之肆,久...

鐵人賽 自我挑戰組 DAY 23
再戰軟體工程 系列 第 22

技術 『雞尾酒式的scrum』 -- 談台灣最常見的 WaterScrum

曾經參加過大師91 Chen的講座,他提到:『現在在外面做scrum教練已經很難了,原因有二,一是有很多人認為Scrum不適合我們,二則是其他還有更多人認為我們...

鐵人賽 Software Development DAY 18

技術 Day 18 「春暖鴨先知」TDD 來了

古語有云:「竹外桃花三兩枝,春江水暖鴨先知。」春天不會早上起來敲你家門,跟你說他來了。冬天進入春天的過程,是一天一天變化的。等你發現春天來臨時,外頭早已開遍桃花...

鐵人賽 Software Development DAY 23

技術 Day 23 「啟動!Outside-In 之路」Controller 與單元測試

台灣的職業運動中,最具代表性的應該就是棒球了。大家有去打擊練習場玩過嗎?現在的打擊練習場,在業者持續改良轉型下,已經慢慢轉變成大人小孩都適點的綜合型娛樂場所了。...

鐵人賽 Software Development DAY 23

技術 Day 23 「啟動!Outside-In 之路」Controller 與單元測試

台灣的職業運動中,最具代表性的應該就是棒球了。大家有去打擊練習場玩過嗎?現在的打擊練習場,在業者持續改良轉型下,已經慢慢轉變成大人小孩都適點的綜合型娛樂場所了。...

鐵人賽 Software Development DAY 16

技術 Day 16 「聽從你的蜥蜴腦」單元測試、Code Smell 與重構 - If 篇

你有聽過「蜥蜴腦」嗎?如果你讀過 The Pragmatic Programmer,你應該還有印象。蜥蜴腦是大腦中最原始的部分,為甚麼叫蜥蜴腦呢?因為人腦的這個...

鐵人賽 自我挑戰組 DAY 20
再戰軟體工程 系列 第 19

技術 『程式都解耦合了,那測試呢?』 -- 談測試解耦合神器:Mock技術

在上一篇文章裡,我們介紹了透過『單一職責原則』來化解Feature Envy這個程式壞味道的方法。現在看起來PhoneBook與Contact都各司其職,並且功...

鐵人賽 自我挑戰組 DAY 11
再戰軟體工程 系列 第 10

技術 『出來混,遲早要還的』 -- 工程師心中最軟的一塊:技術債 (下)

不可能不欠技術債 在前文中我們其實已經提到了,技術債與金錢上的債務,有很多的共同點。在產品開發過程中,有時候為了搶奪商機,你不得不在深思熟慮後,決定用比較快速的...

鐵人賽 Software Development DAY 28

技術 Day 28 「最好避免犯錯的方法」單元測試與 GitFlow、主線開發

廿一世紀的軟體開發有一句名言:「最好避免犯錯的方法,就是『天天犯錯』」。 以前我們很喜歡「規格」,認為不管什麼事,只要你規格開好來,我就能照規格刻給你。長久下來...

技術 為什麼 CQRS - Why CQRS

為什麼 CQRS - Why CQRS CQRS (Command Query Responsibility Segregation) 命令查詢職責分離模式,在...

鐵人賽 Software Development DAY 2

技術 【Day 02】戰略資訊系統(Strategic information system)

戰略資訊系統 中台架構其實是一種整體資訊架構訂定的思維,其目的是為了迎接企業不斷創新的挑戰,在『變是唯一不變』的真理下,創造相對的競爭優勢(Competitiv...

技術 什麼是MVC框架? 如何用UML建模?

MVC模式的架構元件被設計用來處理開發中的應用程式的不同方面。MVC設計模式的作用是將表現層與業務邏輯分開。 為什麼開發人員關心MVC?MVC在應用和網路開發中...

鐵人賽 Software Development DAY 11

技術 Day 11 「我以火力掩護你」在測試的保護下重構:消除重複

「班長:班長命令你實施敵火下作業,試問單兵該如何處置?」『單兵:報告班長,請班長以火力掩護我,完成敵火下作業。』「班長:好!我以火力掩護你。」在寫這篇時,筆者突...

技術 Scrum: 什麼是Sprint目標?

Sprint目標是Sprint的一個目標,可以通過產品Backlog的實施來滿足。Sprint目標是產品負責人和開發團隊之間協商的結果。Sprint目標應具體且...

技術 什麼是 ArchiMate?

ArchiMate 是The Open Group面向企業架構的開放且獨立的建模語言,由不同的工具供應商和諮詢公司提供支持。ArchiMate 提供工具來支持企...

鐵人賽 Software Development DAY 22

技術 Day 22 「戲如人生」以真實案例分析 Clean Architecture 的分層原則

相信大家或多或少都有去公家機關辦事的經驗。去公家機關辦事時,如果等待時間拖太久,肯定覺得很煩吧?好不容易等到了,這時萬一辦事員再來一句:「資料不足,回家補足再來...

鐵人賽 Software Development DAY 14

技術 Day 14 「不殘而廢」單元測試、Code Smell 與重構 - Data Class 篇

圖片來源:Wikipedia 大家聽過「帕拉林匹克運動會(帕奧)」嗎?它是自 1960 ~ 70 年代開始,專為身心障礙者舉辦的國際體育賽事,於 1990 年代...