AlexiaChen / AlexiaChen.github.io

My Blog https://github.com/AlexiaChen/AlexiaChen.github.io/issues
88 stars 11 forks source link

软件设计中的逻辑等价 #46

Closed AlexiaChen closed 1 year ago

AlexiaChen commented 4 years ago

title: 软件设计中的逻辑等价 date: 2016-04-28 09:29:14 tags:

在系统软件设计中,人们常常为了软件(框架)的灵活性,扩展性,实现外部动态可配置。经常会使用配置文件初始化软件的逻辑,随着软件规模的越来越大,配置文件也越来越复杂,当复杂到一定程度,配置文件里面的文法表述甚至成了种奇葩的配置描述语言,如果不用外部配置,那么软件内部必须实现相应的逻辑,如果想让软件内部降低复杂性,那么隐藏的逻辑又会转移到配置文件,这种像极了物理中的能量守恒,同样软件中的逻辑是守恒的,以不同的形式表述,复杂性只能分散,不能消除。当然还可以把逻辑扔给用户输入,不过复杂性又会转移到软件说明手册或者是企业的技术支持上去了。No Silver bullet。书籍<<梦断代码>>也在讲述这个客观事实,无论多么牛逼的工程师都会被这事实头疼困扰。软件开发就是如此艰难,进展缓慢。