[Chatter] 引用新技术的考虑
新技术不是不能用,而是堆了新技术,接手的人就要学会这些。
这边对于新技术的定义,是很广泛的定义为系统中没有使用过的技术。在系统一开始的时候,技术需求就是一片空白,后续设计的时候,每次加入的没有用过的技术,都需要去考虑是否有延续性、是否要定义为基础技术...等等考虑。大一点就像是要不要使用Design Patterns、DDD、TDD,或是MVVM要不要用、ASP.NET MVC不错要不要推。小一点的就像是版本控管要用哪种、版本分支、合并的策略是甚么。这些都是需要依照目前团队、未来目标等等方面去考虑。
每个系统都有隐藏的项目天赋表,天赋就是系统里的技术,开发人员点满天赋才能吃透系统。
--以开发人员的角度来说,自己天赋当然是越多越好,并且也比较有趣。
--但开发管理的角度来说,项目天赋表越多,就代表替补人力需要更高的等级。
这是设计上需要取舍的点,并且很难取到平衡......
而如果单纯从系统设计的角度来看这个议题。我目前是试着采取,透过系统架构层级去切割不同等级的区块,并且为每个区块的关键技术建立可延伸的框架、样版,这样两种方式来处理。
--例如说:将系统切割为N层,后三层需要多线程设计、前两层只需要单线程设计、额外一层需要Web开发。透过这样的方式,就可以概略的依照开发人员的技能等级来分配人力。
--例如说:先前写过的 MVVM Plugin模式、Device Projection模式,就分别为表示层、通讯层定义了关键的样板技术。透过这样的方式,后续替补人力等级低的时候,就先照着样板直接开发系统,透过使用、学习样板慢慢提高技能等级,进而设计样版、设计系统。
这是还在摸索中的做法,团队也都是不超过10人的小团队,一时还看不出大问题,等哪天爆炸了再看看怎么调整吧。Orz
期許自己~
能以更簡潔的文字與程式碼,傳達出程式設計背後的精神。
真正做到「以形寫神」的境界。
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· go语言实现终端里的倒计时
· 如何编写易于单元测试的代码
· 10年+ .NET Coder 心语,封装的思维:从隐藏、稳定开始理解其本质意义
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· 周边上新:园子的第一款马克杯温暖上架
· Open-Sora 2.0 重磅开源!
· 分享 3 个 .NET 开源的文件压缩处理库,助力快速实现文件压缩解压功能!
· Ollama——大语言模型本地部署的极速利器
· DeepSeek如何颠覆传统软件测试?测试工程师会被淘汰吗?
2012-05-21 [Architecture Pattern] Service Locator