1

一套软件开始进行开发, 形态将不断增大, 复杂度也将提升
开放中随着各种副作用, 调整架构难度快速增长, 人们倾向于保持架构
最初的设计或者重构决定这未来软件将如何发展
于是我想, 是否能理解软件本身是一种生长, 而存在其特定的的规律呢?

最初的设计无法预见未来所有需求, 只是根据设想设定了运行的机制
比如 Model 可能的规则定义好了, 往后只会添加不破坏兼容性的扩展
而 View 相对随意, 大体形态跟着交互设计进行着迭代, 却也不会颠覆用户习惯
期间软件在兼容和迭代之间做各种取舍, 随着时间纠结和推进

假如软件有着特定的生长方式, 那么能否做更多的联想?
软件有着不断增长的熵, 却很生命一样有一股负熵的力量在不断维持?
软件到达一定的规模, 就特别难在架构上进行整体的改变?
大量的软件遇到意外的环境而枯萎, 成为其他软件的养料?
还有个问题, 软件如果像一棵棵树, 那起生长的过程是怎样的?

最近因为项目变大我开始担心上边提到这样一些问题, 软件如何生长的?
其中是否有一些规则, 而这些规则造成我目前开发中的疑神疑鬼和难办?
一个软件生长, 其过程是怎样的, 我在编写当中应该如何遵循其规律?
哪些部分将频繁改变, 哪些部分将作为主干在代码库当中延续?
哪些部分将作为华而不实的枝蔓, 需用动用剪刀无情地修剪?
怎样一个结构才是软件合理的架构, 数据在各个成分之间清晰流动?


题叶
17.3k 声望2.6k 粉丝

Calcit 语言作者


引用和评论

0 条评论