期間:2007

測試癌症

隨著我的職業生涯轉為全職作者,我常常擔心自己會遠離日常軟體開發的現實。我已經看到其他知名人物失去與現實的聯繫,我害怕自己也會步上相同的後塵。我對抗這種情況的最大來源是 Thoughtworks,它就像一劑定期的現實良藥,讓我腳踏實地。

Thoughtworks 也是來自業界的點子來源,我很喜歡寫關於同事發現和開發的有用事物。這些通常是有用的點子,我希望我的某些讀者能夠使用。我今天的題目並不是一個令人愉快的題目。這是一個問題,而且我們沒有答案。

作者:Martin Fowler

2007 年 12 月 6 日

閱讀更多…

bliki

測試 糟糕的事情

書籍程式碼

我現在寫的生產程式碼不多,但我仍然花很多時間寫程式碼。這些程式碼是一種特殊的程式碼形式,用於說明書中的點子。書籍程式碼與真實程式碼不太一樣,在撰寫時有一些不同的考量因素。

作者:Martin Fowler

2007 年 12 月 4 日

閱讀更多…

bliki

寫作

Groovy 或 JRuby

目前對於 Groovy 和 JRuby 作為在 Java 虛擬機器上執行的腳本語言的相對優缺點,正有一場激烈的辯論。好奇的人想知道,這些語言中哪一種會贏得這場即將到來的語言戰爭?人們想知道該為專案選擇哪一種語言,或是該承諾學習哪一種語言。

作者:Martin Fowler

2007 年 11 月 28 日

閱讀更多…

bliki

ruby

Alt.NET 會議

上週末我參加了 Alt.NET 會議。這是長期以來我在部落格圈關注的一群人第一次舉辦的聚會。一群長期使用 Microsoft 技術的使用者,他們覺得自己的開發哲學已經與 Redmond 所認知的正統觀念脫節。雖然有些人考慮離開,但這群人熱衷於留下,並試圖影響 Microsoft 的世界。

作者:Martin Fowler

2007 年 10 月 9 日

閱讀更多…

bliki

會議

沒有萬靈丹,重裝上陣

OOPSLA 2007 會議發生在 Fred Brooks 著名論文「沒有萬靈丹」20 週年紀念。因此,為了紀念此事,我們舉辦了一場回顧小組,包括 Brooks 先生。我很幸運地受邀參加小組,儘管我懷疑他們預期我最後做出的貢獻。

Fred Brooks、Martin Fowler、Ricardo Lopez、Aki Namioka、Linda Northrup、David Parnas、Dave Thomas、Steven Fraser 和 The Werewolf

2007 年 10 月

閱讀更多…

會議小組 會議

滾軸溜冰實作

敏捷開發的一項關鍵特性是找出如何讓系統在功能較少的子集中上線。我們為其提供的商業價值建構軟體,我們上線越快,我們獲得至少一些商業價值的速度就越快。

作者:Martin Fowler

2007 年 9 月 9 日

閱讀更多…

bliki

經驗報告 需求分析 專案規劃

時區不確定性

我在波士頓,準備飛往卡加利的辦公室。我查看我的行事曆,看看我是否有會議。第一個會議是上午 10:30 - 太棒了,早上不用急著起床。

作者:Martin Fowler

2007 年 9 月 6 日

閱讀更多…

bliki

工具

客戶忠誠度軟體

上週我在卡加利辦公室,並與我們最受信賴的技術主管之一 John Kordyback 進行了一次良好的交談。他處理過許多旅遊忠誠度軟體系統(常客/臥鋪等),並深入探討,我們討論了這些事物的性質,以及如何以更有成效的方式思考它們。

作者:Martin Fowler

2007 年 9 月 4 日

閱讀更多…

bliki

領域驅動設計

變更介面是重構嗎

變更程式碼部分的介面是否是一種重構?

作者:Martin Fowler

2007 年 9 月 2 日

閱讀更多…

bliki

重構邊界

設計回報線

DesignStaminaHypothesis 中,設計回報線是功能量,在該功能量以下,可以權衡設計品質與上市時間。

作者:Martin Fowler

2007 年 8 月 27 日

閱讀更多…

bliki

技術負債 專案規劃

一種語言

我們是否應該致力於在開發工作中只使用一種語言?

作者:Martin Fowler

2007 年 7 月 28 日

閱讀更多…

bliki

程式設計環境

使用者介面模式讀物

2006 年夏季,我針對 使用者介面模式 進行了大量的工作。從那時起,由於我的主要寫作重點已轉移(儘管不太明顯)到 DomainSpecificLanguage,因此這些模式已幾乎被擱置。在此頁面上,我將記錄與該工作相關且我喜歡的寫作連結。

作者:Martin Fowler

2007 年 7 月 12 日

閱讀更多…

bliki

應用程式架構 寫作

設計耐力假說

設計良好的軟體是否值得投入心力?

作者:Martin Fowler

2007 年 6 月 20 日

閱讀更多…

bliki

生產力 技術負債 流程理論 演化設計 程式設計風格

雙面書

上週,我收到了我的簽名系列中的最新書籍:Gerard Meszaros 的 xUnit 測試模式。我已經與 Gerard 斷斷續續地合作了幾年,所以我對其內容相當熟悉,但不知何故,看到實體書時我還是感到相當震驚。不知何故,我沒有想到這本書有多大——883 頁,很容易成為我系列中最大的書。

作者:Martin Fowler

2007 年 6 月 13 日

閱讀更多…

bliki

寫作

Ruby Microsoft

RailsConf2007 上,JRuby 引起許多熱烈的討論。這個小團隊接手了一個瀕臨死亡的專案,並將其轉變為在 JVM 上實現 Ruby 平臺的頂級專案。他們獲得了許多歡呼,而且實至名歸。

因此,隨著 JRuby 幾乎問世,焦點轉移到另一個常見的受控碼執行時期——.NET。Microsoft 目前對 Ruby 的意圖還不太明確。他們已宣布 Ruby 是用於編寫 Silverlight 程式碼的語言——但這仍留下了許多未解決的問題。這是 Ruby 語言的完整實作,還是某種形式的 Ruby++——Ruby 的增強子集?

作者:Martin Fowler

2007 年 5 月 30 日

閱讀更多…

bliki

ruby

Hello Racc

當我說 HelloCup 時,我正在查看一個基於 yacc 的剖析器,它使用一種語言,不需要我處理我的髒指標。另一個可以使用的替代方案是 Ruby,它現在有一個 yaccish 剖析器內建到標準程式庫中——不可避免地稱為 racc

作者:Martin Fowler

2007 年 5 月 30 日

閱讀更多…

bliki

剖析器產生器

Alpha Geek

Alpha geek 一詞大部分的流行度來自 Tim O'Reilly 的 演講和線上文章。在這次演講中,他表示,透過觀察 alpha geek 在做什麼,你可以了解科技產業整體的未來是什麼樣子。

作者:Martin Fowler

2007 年 5 月 30 日

閱讀更多…

bliki

字典

RailsConf 2007

我參加的研討會沒有以前那麼多了,但好處是我有時間參加自己感興趣的研討會。我一直都很喜歡 Ruby 社群,所以今年我以與會者的身分參加了 RailsConf。

作者:Martin Fowler

2007 年 5 月 22 日

閱讀更多…

bliki

研討會 ruby

Hello Cup

當我探索外部 DomainSpecificLanguage 的剖析器產生器工具時,我曾說過 HelloAntlrHelloSablecc。如果你花很多時間研究剖析器產生器,你無法真的避免研究舊的支柱 lex 和 yacc(或它們的 gnu 對應項 flex 和 bison)。我想探索 lex 和 yacc 的運作方式,但我的 C 已經太生疏了。正如 Erich Gamma 所說的,我已經懶到不想自己倒垃圾了。很幸運地,有一個 yaccish 系統的 Java 實作,這正是我需要的。

作者:Martin Fowler

2007 年 5 月 13 日

閱讀更多…

bliki

剖析器產生器

翻譯

花你的生產時數閱讀這篇部落格是一回事,但有些人也喜歡翻譯它。因此,我想歡迎一個 泰文翻譯,由 Wee Witthawaskul 領導的團隊所翻譯。大約 15 年前,我以典型的背包客西方遊客身分造訪泰國。我對曼谷的河上巴士、在 Pai 附近健行、在 Ko Pi Pi 浮潛,以及一些很棒的食物有美好的回憶。我第一次見到 Wee 是在他與 Ralph Johnson 共事時,現在他已加入我在 Thoughtworks 的團隊。

作者:Martin Fowler

2007 年 5 月 10 日

閱讀更多…

bliki

寫作

輸出建置目標

在過去幾天,我一直在審查同事 Julian Simpson 正在撰寫的一篇文章,主題是重構 ant 檔案。Julian 是我們的「部署人員」,負責將我們以敏捷為導向的工作習慣套用在系統部署上。在執行的過程中,Julian 遇到了許多難搞的 ant 建置指令碼。他的文章很好地描述了他最喜歡的整理混亂的方法。

作者:Martin Fowler

2007 年 4 月 26 日

閱讀更多…

bliki

建置指令碼

觸發檔案

在使用 make 進行建置時,您可以透過比較輸出檔案和輸入檔案的修改日期來判斷是否需要執行工作。對於編譯等工作(a.out 取決於 foo.c),此方法很有效,但有時輸出較難看出。

作者:Martin Fowler

2007 年 4 月 26 日

閱讀更多…

bliki

建置指令碼

掛起頭部

我是 持續整合 的忠實愛好者,這是一種相對簡單的實務,可以對大多數開發團隊產生極大的影響。然而,與大多數實務一樣,它也有其缺點^H^H^H^H^H 改進的機會。主題相關的 即將成為標準書籍 的作者 Paul Duvall指出 其中一項缺點。如果提交建置中斷,整個團隊都會受到影響,並可能在修復之前減緩進度。

作者:Martin Fowler

2007 年 4 月 26 日

閱讀更多…

bliki

持續傳遞 版本控制

彈性 Antlr 產生

我一直在探索各種替代語言和語法,以用於外部 DSL。我的主要工具之一是 Antlr。透過此類探索,我有一個專案包含多個類似的語法檔案,我想要使用不同的語法執行本質上相同的工作。雖然我目前只有幾個語法檔案,但我可能會累積到數十個。

作者:Martin Fowler

2007 年 4 月 17 日

閱讀更多…

bliki

特定領域語言

網路惡意

最近關於 對 Kathy Sierra 發出死亡威脅 的爭執在我閱讀的部落格中引起熱議。我撰寫這篇文章的事實表示,它觸發了我的一些想法。

作者:Martin Fowler

2007 年 4 月 3 日

閱讀更多…

bliki

網路文化

嵌入式輔助程式

最近幾週,我一直在玩弄和查看編譯器編譯器工具。這些工具的共同特點是它們有一個語法檔案,其核心是語言語法的產生規則描述。除了描述語法之外,檔案還提供有關如何處理語言以及識別語言元素的資訊給剖析器。在大多數編譯器編譯器工具中,這些指令表示為語法中的動作 - 這些動作通常編碼為高級語言中的程式碼片段。

作者:Martin Fowler

2007 年 3 月 26 日

閱讀更多…

bliki

網路開發 特定領域語言

無交易

幾年前,我與在 eBay 工作的兩位朋友交談。瞭解人們在高流量網站上使用的技術總是很有趣,但最有趣的趣聞之一可能是 eBay 幾乎從不使用資料庫交易。

作者:Martin Fowler

2007 年 3 月 18 日

閱讀更多…

bliki

資料庫 應用程式架構

你好 Antlr

在說完 HelloSablecc 之後,我也想嘗試 Antlr,這是 Java 空間中的另一個編譯器編譯器。與該條目一樣,這只是關於使用非常簡單的「hello world」風格語法讓 Antlr 開始運作。

作者:Martin Fowler

2007 年 3 月 7 日

閱讀更多…

bliki

剖析器產生器

毀滅的深淵

這是 QCon 2007 的主題演講,我與同事 Dan North 共同完成。我們都認為開發人員與其客戶/使用者之間的差距是軟體開發中最大的問題。(我們會稱之為鴻溝,但這個詞用得太氾濫了。)在這裡,我們討論這個差距、為何它很重要,以及我們需要做些什麼來跨越它。特別是,我們主張傳統的中介業務分析師的角色就像一艘渡輪,而我們真正需要的是一座橋樑,讓開發人員與其客戶之間能夠直接聯繫(分析師可以建立和維護這座橋樑)。這是我的最愛聯合主題演講之一,因為我認為這個主題非常重要,而且因為 Dan 是一位非常激勵人心的共同演講者。

Daniel Terhorst-North 和 Martin Fowler

2007 年 3 月

更多…

影片

敏捷 演講影片

可修改性:敏捷中是否有設計

QCon London 2007 的組織者要求我針對架構的可修改性進行一場會議演講。我想,與其聽我說話,與會者可能更喜歡聽一些 Thoughtworks 架構師說話,我通常會重新整理他們的想法:Dave Farley、Ian CartwrightFred GeorgeErik DoernenbergDaniel Terhorst-North。InfoQ 現在已上傳該場演講的影片。

由 Martin Fowler 主持的 Ian Cartwright、Erik Doernenberg、Dave Farley、Fred George 和 Daniel Terhorst-North

2007 年 3 月

更多…

影片

設計 會議小組

面向語言的程式設計和語言工作台

這是 The Server Side Java Symposium 的主題演講,我與 Neal Ford 共同演講。我們探討了特定領域語言的發展趨勢、有哪些類型的語言以及它們為何有趣。如果您正在尋找有關該主題的演講,那麼我比較偏好 JAOO 影片,但這部影片擴展了一些主題,而且由於 Neal 的存在而更具娛樂性。如果您能找到提取音訊串流的方法,它也可以只用音訊播放。

Neal Ford 和 Martin Fowler

2007 年 3 月

更多…

影片

演講影片 特定領域語言

你好 Sablecc

我最近玩了一點 SableCC。花了一點功夫才讓「Hello World」風格的剖析器開始運作,所以我認為我應該在此說明我做了哪些事讓它開始運作。我並不是說這是最好的方法,但如果您想玩玩看,這可能會有用。

作者:Martin Fowler

2007 年 2 月 11 日

閱讀更多…

bliki

剖析器產生器

JRuby Velocity

昨天我需要使用 Velocity,以便探索一些關於範本和巨集的東西。我喜歡 Velocity 的簡單範本語言,但這是其中一次我不在 Java 或 .NET 工作中使用它的情況。在這種情況下,使用 Velocity 會變得有點麻煩,因為你必須設定內容並在 Java 中執行處理器。

作者:Martin Fowler

2007 年 1 月 19 日

閱讀更多…

bliki

工具

類型實例同音異義詞

「『戰爭與和平』是一本很棒的書。

「讓我看看... 可惜這本書的封面破破爛爛的」

兩個句子都使用了「書」這個字。我們每天都會瀏覽像這樣的組合,卻沒有注意到在每個句子中,「書」這個字的意思完全不同。

作者:Martin Fowler

2007 年 1 月 11 日

閱讀更多…

bliki

領域驅動設計

類別實例變數

當你學習物件時,你通常會學到它們可以擷取兩種資料:實例和類別。實例變數是最常見的情況,資料會隨著物件的每個實例而有所不同。類別變數(通常稱為靜態變數)會在類別的所有實例中共享。每個實例都指向同一個值,而且所有變更都會被所有人看到。類別變數比實例變數少見許多,特別是可變的類別變數。

作者:Martin Fowler

2007 年 1 月 9 日

閱讀更多…

bliki

語言功能 Ruby

Atom Feed

(更新,因為 Sam Ruby 說服我對日期使用第二精度。)

作者:Martin Fowler

2007 年 1 月 2 日

閱讀更多…

bliki

工具

Mock 不是 Stub

「Mock 物件」這個術語已成為一個流行的術語,用來描述模擬真實物件以進行測試的特殊情況物件。大多數語言環境現在都有框架,可以輕鬆建立 Mock 物件。然而,人們常常沒有意識到,Mock 物件只是特殊情況測試物件的一種形式,它啟用了不同的測試樣式。在本文中,我將說明 Mock 物件如何運作、它們如何鼓勵基於行為驗證的測試,以及它們周圍的社群如何使用它們來開發不同的測試樣式。

作者:Martin Fowler

2007 年 1 月 2 日

閱讀更多…

文章

熱門 測試


所有標籤

API design · agile · agile adoption · analysis patterns · application architecture · application integration · bad things · board games · build scripting · certification · collaboration · computer history · conference panels · conferences · continuous delivery · covid-19 · data analytics · database · design · dictionary · distributed computing magazine · diversions · diversity · documentation · domain driven design · domain specific language · domestic · encapsulation · enterprise architecture · estimation · event architectures · evolutionary design · experience reports · expositional architectures · extreme programming · front-end · gadgets · generative AI · ieeeSoftware · infodecks · internet culture · interviews · language feature · language workbench · lean · legacy rehab · legal · metrics · microservices · mobile · noSQL · object collaboration design · parser generators · photography · platforms · podcast · popular · presentation technique · privacy · process theory · productivity · programming environments · programming style · project planning · recruiting · refactoring · refactoring boundary · requirements analysis · ruby · security · talk videos · team environment · team organization · technical debt · technical leadership · test categories · testing · thoughtworks · tools · travel · uml · version control · web development · web services · website · writing

2024 · 2023 · 2022 · 2021 · 2020 · 2019 · 2018 · 2017 · 2016 · 2015 · 2014 · 2013 · 2012 · 2011 · 2010 · 2009 · 2008 · 2007 · 2006 · 2005 · 2004 · 2003 · 2002 · 2001 · 2000 · 1999 · 1998 · 1997 · 1996

所有內容