一台vps可以做几个网站,成立做网站的公司有哪些,wordpress文章id,网站排名套餐软件开发过程主要追求的是高效、易于维护。 高效开发体现了代码的复用率即开发效率#xff0c;是为了缩短开发周期。 易于维护体现了代码的重构效率#xff0c;是为了缩短维护周期。
编程语言#xff0c;从C到C#xff0c;实现了从函数复用#xff0c;到类复用。其实编程…软件开发过程主要追求的是高效、易于维护。 高效开发体现了代码的复用率即开发效率是为了缩短开发周期。 易于维护体现了代码的重构效率是为了缩短维护周期。
编程语言从C到C实现了从函数复用到类复用。其实编程语言的更新换代过程就是提高代码复用率的过程即解决开发效率的问题。 注还有一些其他类型的技术都是为复用而生如动态库组件等。
开发语言偏向于解决开发效率的问题而重构效率和开发效率几乎是一对成反比的变量。例如使用C开发时如果只考虑提高代码复用率那么在需求改变的时候已有的架构很难适应新的需求重构的任务很可能变得艰巨。C开发相对于C开发过程潜在地会有更多的代码重构工作。
例如类的继承本来是一种提高复用性的手段但是如果这种方法被滥用会导致类的继承关系十分复杂且十分固定类与类之间的耦合性高。一旦产生修改需求将会带来巨大的工作量。所以有的特性并不是使用的越多越好而是需要使用者根据实际情况制定使用方案。在一些需求固定的地方如windows的界面开发框架结构固定运行方式百年不变就特别适合用C进行封装特别是适合使用继承、多态等特性。
为什么需要重构重构的动机是什么
根据二八定律软件代码中有20%的代码占用了80%的软件运行时间。我们称20%的代码成为热点代码80%的为冷代码。 随着需求的改变某些功能模块/类的使用频率是会随之变化的即有的代码变成冷代码有的代码变成热代码。功能模块的使用频率发生改变会导致两方面的问题 1.开发效率降低。 新的需求如果继续使用已有的模块而已有模块的实现方式下的代码重用率不是很高这就导致在新需求下的开发效率会降低。 例如为了实现相同的功能未使用访问者设计模式编写的代码在使用频率高了以后相对于使用访问者设计模式下编写的代码更多代码的重用率更低。首先在开发阶段就会导致开发效率变低因为要写更多的代码。其次在后续的重构时会因为相同的代码在多个地方分布多个地方都要修改导致修改的工作量更大。 2.运行效率降低。 有的模块的初始实现可能并没有做很好的优化。在访问率提高后效率问题将逐渐被放大。这时就会产生重构需求。如模块间的通信效率数据解码效率等需要更加高效的数据结构与算法来重构以提高运行效率。
软件行业的任何层面都存在重构。需求变化越频繁的部分重构越多。需求越固定的部分重构越少。
如何理解设计模式设计模式是为了解决什么问题
使用设计模式是为了从软件开发的一开始就通过人为分析现有需求预测未来需求对软件各个功能模块进行最优化设计以期减少当前开发工作量和应对需求变动工作量的目的。如果一个项目急切开展起来虽然初期开发速度快但是可能会对后期软件的维护带来麻烦。 设计模式只是解决上述问题的方法和经验。应从代码重用即开发效率和运行效率的角度出发理解每一种设计模式。 另外使用何种设计模式由具体需求和预期的需求决定。使用设计模式有一定的使用成本包括时间成本和过度设计的风险要谨慎使用。
量化
如果能够将软件开发本身的一些指标进行量化并且在量化后进行最优计算最终实现自动化的软件设计模式的话程序员就可以将更多的精力放在业务实现上而非代码维护上。自动化的软件设计将允许人们设计规模更大、功能更复杂的软件系统真正实现软件生产力的提高。