原创 使用 AI 爲開發提速

與 AI 同行。 出題 最直接使用 AI 的方法,就是出題。出題方式適用於寫工具類。 如 “再談函數式編程:釋放編程創造力” 一文所示。 再給一例: AI + 函數式 + 泛型編程,將能讓你的編程效率成倍提升。 package ut

原创 留住一場雪的記憶

​life is a journey to collect beautiful things. 全國人民都知道, 2024 年初,下了一場超大的雪! 走在路上,又想起那天雪滿大街的情景。有些事物啊,一年纔來一次,甚至多年纔來一次,以至

原创 做好設計:架構模式

在 “軟件設計要素初探” 一文,嘗試從軟件設計的整體角度,綜合討論了軟件設計的各種要素。本文探討確定系統整體結構的架構模式。 概述 架構模式是系統組件及組件交互的模式,決定了處理數據和領域對象的全局控制結構。 架構模式包含三個要素: 劃

原创 碎碎念八零

01.01 好的生活需要一步一步去創造出來。 學會耐心等待。 01.02 下雨了。雨是天上的精靈掉落凡間。 求知的樂趣。 你可以盲目沉醉在五光十色的生活裏,也可以細品蘊藏在五光十色裏的奧祕。 一個人的生活質量,一定是建立在他的品味之上

原创 再談函數式編程:釋放編程創造力

當抽象程度足夠高,編程就能接近數學的優雅。 在“Go 模板:用代碼生成代碼”一文中,談到了生成器模式的實現。 先 Copy 如下: 生成器模式(Builder) 假設我們要造一輛車,車有車身、引擎、座位、輪子。Go 的生成器模式的代碼

原创 做好設計:存儲設計基礎

存儲設計之於軟件開發,猶如打地基之於造房子。 引言 在 “軟件設計要素初探” 一文,嘗試從整體視角討論了軟件設計涉及的各種要素。本文探討軟件詳細設計中的關鍵環節:存儲設計。 存儲設計是領域/業務建模的設計細化,確定了數據的主要屬性特徵

原创 代碼堆砌是如何形成的以及如何解決

量度而行,不失矣。 通常來說,我們追求代碼清晰性和可維護性,追求代碼放置整潔有序,放在它該呆的地方,這樣閱讀起來邏輯井井有條,自然通暢,節省腦力和精力。 代碼堆砌,是指只顧實現功能,在原有代碼上不斷堆砌新的代碼,使得整個實現過程逐漸變

原创 Go 模板:用代碼生成代碼

用代碼生成代碼。 不用 Go 寫代碼,就不知道 Java 程序員被“慣”得有多厲害。 Java 奉行“拿來主義”,什麼東西都有現成的庫。而 Go 就沒有那麼豐富的庫了。 本文用生成器模式作爲例子,來演示如何用代碼生成代碼。 生成器模式

原创 軟件開發:組織大規模邏輯的技藝

技藝永恆,生命短暫,機會易逝,實驗莫測,抉擇艱難。 程序員是喫“邏輯”這碗飯的。那麼,怎麼才能安心地喫這碗飯呢?你需要掌握組織大規模邏輯的技藝。 要掌握這門技藝,需要有一些思想方法論來指導。本文談談,軟件業界是如何應對組織大規模邏輯的。

原创 碎碎念七八

11.01 301路車的外套換了。從酒紅色換成了綠色。 漲,百姓苦;跌,百姓苦。 看到五顆星星。 晴朗的秋色天幕,有一種難以言說的魅力。 宇宙,以其博大浩瀚寂靜,包容着這個混亂的人間。 咳,怎麼能寫出如此悲傷的故事? 想昔時,歡度卿

原创 編程漫談(二一):編程活動之思

編程應像數學一樣嚴謹, 像文學一樣流暢。 編程久了, 不免會問: 編程究竟是一種怎樣的活動? 如何才能做得更嫺熟更有創造性 ? 藉助於編程語言以及圍繞其建設的社區、平臺、技術、框架、組件和工具, 在計算世界中表達和建造世界。 編程的

原创 函數式+泛型編程:編寫簡潔可複用的代碼

Write Less Do More. 引子 我個人比較信奉的一句編程箴言: Write Less and Do More。無論是出於懶,還是出於酷炫的編程技藝,或者是一種編程樂趣。 函數式和泛型編程是編寫簡潔可複用代碼的兩大編程技藝,

原创 生活中的“價格陷阱”

喫一塹,長一智。 咱普通人家買東西只想圖個價廉物美。可是,價廉不一定物美,物美也不一定價廉。你可知道,商家爲了掏你的錢袋子,想了多少法子計策?層出不窮的“價格誘惑與圍剿”,令人防不勝防。 來,瞭解一些商家常用的價格小伎倆,給自己打一打“

原创 用三種語言實現模板方法模式

領會其心,不拘一法。 模板方法模式,顧名思義,就是一個方法裏有一些固定的模板部分,有一些可變的部分。模板方法模式的實質是,將流程中的固定和可變部分分離。 本文用三種語言來實現模板方法模式。 實現模板方法模式 Java Java 實現模

原创 碎碎念七七

10.01 事件是表象,系統結構是本質。 人的一生,不過是認識這個世界,然後採取合適的措施去應對。 懷着開放探索的心態去看待這個世界。 用系統觀重新觀察世界,環視周身,目之所及,覺醒你的內心。 系統觀的核心:看到事物之間的關聯性,看到事物