软件工程第2次作业-----谈谈鸿蒙操作系统
一、概述鸿蒙系统
·开发背景:美国等国家颁布禁令不再向华为提供芯片,为了避免操作系统被美国垄断,让我们的国产手机操作系统真正实现自主可控。
·需求:希望用一套操作系统解决所有IoT硬件设备搭载系统的问题,以实现真正的万物互联,建立全新的跨设备融合的生态系统。
·开发历史:2012年:华为中央软件研究院内部提出研发分布式操作系统的构想
2016年5月:消费者BG软件部正式立项研发分布式操作系统1.0版本
2017年5月:分布式操作系统1.0版本研发完成,开始研发2.0版本
2018年5月:获得消费者BG投资评审委员会批准,成为BG正式项目
2019年5月:分布式操作系统正式命名为“鸿蒙”
2019年8月:鸿蒙1.0正式对外发布,荣耀智慧屏搭载
2020年9月:鸿蒙2.0正式对外发布,向手表、电视、车机等内存在128KB-128MB的设备开源。
2020年12月:鸿蒙正式推出手机开发者Beta版本
2021年5月:HUAWEI HiLink、 HarmonyOS 统一升 级为HarmonyOS Connect
·应用场景:平板电脑、PC、手表、耳机、音箱、智慧屏、眼镜、车机和摄像头、扫地机、智能秤等外围智能硬件
·发展趋势:鸿蒙OS希望能够实现万物的智能互联功能,它通过将任意个孤立设备连接成“超级终端”,提供了流畅、安全的无缝衔接跨平台能力,实现了“超级终端”内硬件设备之间的信息共享与服务共享,让用户能够像使用一台设备一样任意调用超级终端内的设备与服务。从全球操作系统来说,鸿蒙系统有望成为除安卓和iOS外的全球第三大操作系统。
二、关于鸿蒙是否套壳的争议
·什么是创新:
创新是指以现有的思维模式提出有别于常规或常人思路的见解为导向,利用现有的知识和物质,在特定的环境中,本着理想化需要或为满足社会需求,而改进或创造新的事物、方法、元素、路径、环境,并能获得一定有益效果的行为。在我看来,鸿蒙系统并未进行套壳。鸿蒙系统有许多与众不同的设计,比如微内核、跨平台、多终端生态共享等。安卓是基于Linux打造的,Linux是一个宏内核的结构,而鸿蒙则是微内核结构,结构的差异让两者在升级维护方面截然不同。由于互联网时代的到来,组装更灵活、更轻量的微内核将会是更好的选择。鸿蒙系统有着比安卓系统更适应未来的内核,这样也是套用吗?
·代码复用与创新的关系:
我认为代码的创新是要建立在复用的基础上的。华为使用的部分代码基于ASOP,在ASOP研发时华为也是参与了的并且是主要贡献者,这并不是谷歌所独有的。在这个项目里任何机构和企业都有义务为开源社区贡献代码,也能够使用和下载开源代码,所以华为有权使用ASOP的代码。鸿蒙OS的第三阶段开源代码即将上线,到时谷歌贡献的代码就几乎没有了,这就是代码的创新。创新是要循序渐进的。
三、代码风格分析:
好的代码风格1:
···
···
分析:Public reaonly double Width, Height:这里变量的命名列在同一行中,显得更加简洁。
public Rectangle(double w, double h):这里参数列表的命名,w 和 h分别时width 和 height的首字母,简介,避免重名。
好的代码风格2:
...
···
分析:Area => Width * Height:这里只有一句的匿名函数,显得简洁
public Square(double a) : base(a,a):这里是类的继承,使用base很简洁
不好的代码风格1:
···
···
分析:可读性太低,看起来太繁杂