第2次作业—— 谈谈鸿蒙操作系统

一、概述鸿蒙操作系统 

  • 开发背景:

    自从技术战爆发以来,华为在芯片与操作系统受美国限制的背景下,手机业务受到了巨大的冲击,同时数字化新时代和5G物联网时代的到来,人工智能的兴起与TB、PB级大大数据无一不需要一个要求更高的操作系统,为了打破国外对手机系统的封锁,为了满足新时代更多的要求,华为推出了主打物联网时代的“鸿蒙系统”。

  • 需求:

   1.用户数:华为手机目前在全球市场的总占有率恰巧就在16%左右,若是没有其他厂商接纳鸿蒙系统,华为鸿蒙很可能被挡在生死线之外,数年努力白白浪费。

   2.软件生态:鸿蒙系统目前能在手机上正常运行,主要是因为鸿蒙可以兼容安卓应用,若是没有该特性加持,鸿蒙可能根本就无法使用。

  • 开发历史:

    2012年9月,华为开始规划自有操作系统“鸿蒙”。华为“2012诺亚方舟实验室”专家座谈会上,任正非提出了要做终端操作系统防范于未然,要在“断了我们粮食的时候,备份系统要能用得上。”

    2017年,鸿蒙内核 1.0

    2018年,鸿蒙内核 2.0

    2019年,鸿蒙OS 1.0

    2019年5月24日,国家知识产权局商标局网站显示,华为已申请“华为鸿蒙”商标,申请日期是2018年8月24日,注册公告日期是2019年5月14日,专用权限期是从2019年5月14日到2029年5月13日。

    2019年5月17日,由某教授领导的华为操作系统团队开发了自主产权操作系统——鸿蒙。

    2019年8月9日,华为正式发布鸿蒙系统(HongmengOS),实行开源。

    2020年9月10日,华为在HDC开发者大会上如约发布鸿蒙 2.0,并面向应用开发者发布Beta版本。明年鸿蒙将全面支持华为手机。鸿蒙HarmonyOS正式开源,今年年底首先对国内开发者发布针对智能手机的HarmonyOS beta版本。

  • 应该场景与发展趋势:

    鸿蒙OS基于微内核的面向全场景的分布式操作系统,适配手机、平板、电视、智能汽车、可穿戴设备等多终端设备,华为终端实施了1 +8+N全场景战略。将华为的生态从手机,扩展到平板、电视、音响、眼镜、婊车机、耳机、PC八大业务,延伸到移动办公、智能家居、运动健康、影音娱乐及智能出行等众多业务板块,构建一个完善的5G服务生态体系。这背后,是基于鸿蒙系统的全域的物联网体系。从这个角度来看,鸿蒙OS的发展潜力,立足于构建全域物联网服务体系平台,纡鸿蒙的开放体系,来鸿蒙的应用,是整个物联网,而不是单纯的手机,这才是鸿蒙的终极目标。

 

 

二、关于鸿蒙是否套壳的争议 

   鸿蒙0S系统虽然好评如潮,但自从诞生以来也伴随着许多的争议,鸿蒙0S系统能兼容所有安卓软件就许多人看来就是套壳安卓的证据,直到现在配备好鸿蒙0S系统的华为手机进入许多程序和游戏时所选的端口也是安卓,所以关于鸿蒙0S系统套安卓的争议一直存在着。但从我的角度来看,鸿蒙的开发历程毫无疑问就是一个创新的过程。那么什么是创新呢?创新是指以现有的思维模式提出有别于常规或常人思路的见解为导向,利用现有的知识和物质,在特定的环境中,本着理想化需要或为满足社会需求,而改进或创造新的事物、方法、元素、路径、环境,并能获得一定有益效果的行为。这样看来复用ASOP的代码不就是利用现有的知识和物质吗?而且在ASOP这个项目里,任何机构和企业都有义务为开源社区贡献代码,也能够使用和下载开源代码,并基于开源项目做二次开发,也就是说华为本就有权使用ASOP的代码,为什么就不能用呢?我们常说的创新还有很重要的一点就是一种知识积累达到一定程度的思维变革。ASOP的代码是由谷歌联合34家手机终端和运营商企业共同发起的项目,全球开发者超过2000万,显然它知识的积累已经达到了标准,相比之下鸿蒙OS的开发者目前才几百万完全不能比,因此代码的复用是利用更有力的知识资源来更好的达成创新这一目的。

 

 

三、代码风格分析 

好的代码风格1:

代码示例:

“···

 

 ···”

分析:几乎所有的代码都是从上往下读,从左往右读。每行展现一个表达式或一个子句,每组代码行展示一条完整的思路。这些思路用空白行区隔开来。在案例中,在封包声明/导入声明和每个函数之间,都有空白行隔开。这条极其简单的规则极大地影响到代码的视觉外观。每个空白行都是一条线索,标识出新的独立概念。往下读代码,你的目光总会停留于空白行之后那一行。

 

好的代码风格2:

代码示例:

“···

 

···”

分析:1.每个步骤中间加个空格,提升段落感。

    2.将成功后的处理提取成一个独立的函数,降低函数长度。

    3.将判断所需的map 提取成局部变量,让判断更加简洁。

    4.将防御性判断写在代码执行之前,逻辑更清晰。

 

好的代码风格3 :

代码示例:

“···

 

···”

分析:在巧妙或复杂的代码段前加了注释,便于理解。

 


 

不好的代码风格1:

代码示例:

“···

 

···”

分析:1.对××DaysCount > 0 的判断也出现了两次。

    2.冗余的,嵌套的if结构, 这直接影响了代码的整洁和美观,函数不大, 除了这些里边还隐藏着时间单位的错误。

    3.重复的代码: (Instant.now().getEpochSecond() - order.getUpdatedAt().toInstant().getEpochSecond())出现了两次,getEpochSecond()出现了四次。

 

不好的代码风格2:

代码示例:

“···

 

 

···”

分析:一个函数方法太长,可读性大大降低,不便于理解。

 

posted @ 2021-09-13 12:01  大数据191朱轩廷  阅读(151)  评论(0编辑  收藏  举报