写了多年C/C++代码,也写了多年java代码,C++为了执行效率,开发效率不断演进,不断推出新的特性,新的标准库。用来开发某一个单独功能时确实很方便快捷,单一旦涉及到UI以及功能复杂点的请况,C++的库就不够用了。java凭借着其简单的语法,以及内存管理,跨平台等优势,赢得了多年稳坐编程语言第一的位置。
在Android开发领域,由于其和C++开放的特点类似,带来了很多的碎片化,对用户来说是百花齐放,对开发者来说就是更多的工作量(更多的就业岗位)。
言归正传,说道重构,涉及到了重构的目标规范等,虽然是java代码重构,以下几大原则适合在很多语言甚至其他很多领域。
下面是搬运过来的
设计模式的六大原则(每一个原则看名字都是这么的高大上)
1、开闭原则(Open Close Principle)
一个软件实体如类、模块和函数应该对扩展开放,对修改关闭。
2、里氏代换原则(Liskov Substitution Principle)
子类可以扩展父类的功能,但不能改变父类原有的功能。
3、依赖倒转原则(Dependence Inversion Principle)
核心思想是面向接口编程,即尽可能通过接口的方式调用函数或传递数据。
4、接口隔离原则(Interface Segregation Principle)
建立单一接口,不要建立庞大臃肿的接口,尽量细化接口,接口中的方法尽量少。
5、迪米特法则(最少知道原则)(Demeter Principle)
一个类对自己依赖的类知道的越少越好。
6、单一职责原则(Single Responsiblity Principle)
一个类只负责一项职责
根据以上设计原则在设计模块或接口时,有以下原则和技巧(有点像在讲做人的道理呢):
1.稳定性
必须相对稳定,若果很小的功能修改导致接口改动很多,这稳定性不够。
2.易用性
提供给外部使用的功能应该清晰易懂,即函数名称,调用参数应该尽可能直观,简单,也就是自描述功能。
3.完备性
模块函数除了完成自身功能外,还应该有容错,异常处理等功能。
4.内聚性
也就是自己的事情自己做,少去依靠别人。