程序員修煉之道 | 不要让你的代码走上渡渡鸟的灭绝之路
原創-
發表時間 2021-08-20
-
閱讀數 5579
-
最后编辑:琦琦 于 2025-05-19 10:39:53
世界上有一种不会飞的鸟,叫渡渡鸟。15世纪前,由于生活的环境中有着丰富的食物,且没有天敌,渡渡鸟的翅膀开始退化,它们最终只能在陆地上行走奔跑、筑巢。随着人类的到来,渡渡鸟安定的生活被打破了:人类大肆捕杀渡渡鸟,随之而来的猪、猴子等动物不断地捕食幼鸟和鸟蛋,渡渡鸟孵化率急转直下。很快,每天捕杀的渡渡鸟数量越来越少,到1681年,最后一批渡渡鸟被杀害,渡渡鸟就此灭绝,只留下了“as dead as a dodo”这一俗语。
世界上有一群“手艺人”,叫程序员。19世纪,奥古斯塔·埃达·金·洛芙莱斯首次“编程”设计了一个打孔卡片程序,用来计算伯努利数。此后的程序员们习惯于通过构思、设计和测试,用计算机解决各类问题。随着客户业务的不断变化,程序员们经过精心设计的産品架构被打破了:在客户需求不断变更的情况下,软件经过反复修改,软件的生命周期明显缩短。很快,不能适应变化的程序员及其代码被市场无情地淘汰。
“as dead as a dodo”即“早就过时了”。没有适应变化的代码,就如同没有适应变化的渡渡鸟,会在灵活性方面大打折扣,最终走向灭亡。
程序員們,快醒醒!別再寫渡渡鳥般的代碼了
爲了防止自己不經意間走上渡渡鳥的老路,程序員們決定通過外部配置參數化應用程序,讓代碼適應其運行環境。這種方式能夠增加程序的靈活性,盡量避免重新編譯。
如何進行外部配置呢?
常見的配置方式有兩種:
- 靜態配置:將配置直接保存在文件中,或放在數據庫的表內。
- 配置服務化:将配置数据储存在一个服務API内。
比起静态配置,选择配置服務化会给程序员们带来更大的便捷性,如:
- 在身份认证和访问权限控制将多个应用程序的可见内容阻隔开的情况下,可以幫助多个应用程序共享和配置信息;
- 可以在任何地方進行配置的變更;
- 可以通過專有UI維護配置數據;
- 可以让配置数据動態化。
無論采用何種形式,配置數據都會驅動應用程序的運行行爲,當配置值更改時,程序員們也就無需重新構建代碼,自然就不用擔心會寫出“渡渡鳥般的代碼”啦。
不要走入死胡同
任何方式都有可能使用不當或誤入極端,所以做外部配置的同時,還要注意以下兩點:
1.不宜太過
在程序設計時,有一位程序員決定讓程序中的每個字段都可配置。于是,爲了保存和編輯這些字段,還需要實現相應的管理代碼。最終他發現,自己手頭大約有40000個配置變量,這就意味著,即使做最小的改變,也需要花費幾周的時間。
2.不宜太懶
如果對程序的某一特性産生爭議,那麽就去找個方法試試,通過反饋來決定哪一種更好。如果因爲懶就放棄做決策,那這可能就會成爲隱藏在程序內的“不定時炸彈”。
-
禅道産品
禅道開源版 禅道企業版 禅道旗艦版 禅道IPD版 -
核心功能
産品管理 項目管理 質量管理 效能管理 -
使用文檔
基本版手冊 企業版手冊 旗艦版手冊 IPD版手冊 開發中心手冊 -
幫助中心
积分問答 常見問題 論壇交流 使用視頻 Gitee GitHub -
關于我們
關于我們 禅道軟件 最新動態 禅道活動 -
禅道社區
禅道博客 積分排行 積分商城 禅道書院 -
聯系方式
聯系人:張淑鈞 電話:13156280939 微信:13156280939 Q Q:2082428410北京、上海、深圳分部