软件工程2021:第2次作业—— 谈谈鸿蒙操作系统

概述鸿蒙操作系统 

  • 开发背景2019年鸿蒙系统发布前,全世界手机操作系统被安卓系统和iOS系统所“垄断”,尤其在中美贸易战的紧张期里,华为发现独立自主的研发操作系统是迫切的需求。
  • 需求尽量满足国内现存智能机甚至5G手机对操作系统的要求,做到不被国外“卡脖子”。
  • 开发历史2012年9月,任正非在专家座谈会上提出要做自己的操作系统,这就是“鸿蒙”操作系统的起点。在五千余人的共同努力下,在上亿元的资金支持下,2017年及2018年内,鸿蒙OS内核1.0、内核2.0相继被研发成功,并得以小规模内部应用。2019年,鸿蒙OS 1.0版本正式亮相在大众视野。2021年,鸿蒙OS正式上线,升级人数飙升。(查阅搜狐网报道:人民日报为鸿蒙OS“正名”:华为的抱负很大!
  • 应用场景智能手机、智能手表、智慧屏、车载设备、智能音箱等智能终端(查阅https://harmonyos.51cto.com/posts/5373
  • 发展趋势:据悉,截止九月四号,鸿蒙OS系统的用户数量突破了1亿大关,虽然比不上安卓和iOS系统用户数量多,但是”后生可畏“。在日前,华为终端总裁指出:华为鸿蒙OS系统的生态从手机,扩展到平板、电视、音响、眼镜、手表、车机、耳机、PC八大业务,并延伸到移动办公、智能家居、运动健康、影音娱乐及智能出行等众多业务板块,构建一个完善的5G服务生态体系。(查阅梅与牛_亚坤的文章”鸿蒙系统的发展趋势和潜力“)

关于鸿蒙是否套壳的争议 

  • 什么是创新:创新在百度百科里的定义是“以现有的思维模式提出有别于常规或常人思路的见解为导向,利用现有的知识和物质,在特定的环境中,本着理想化需要或为满足社会需求,而改进或创造新的事物、方法、元素、路径、环境,并能获得一定有益效果的行为。”我感觉鸿蒙的开发历程就是一路创新的过程,在全世界都被美国的安卓系统和苹果的iOS系统所垄断时,在中国面对美国的技术封锁的背景下,中国人任正非敢于提出研发我国自主的操作系统,并且在自己公司的号召和资金下支持鸿蒙OS系统的开发,不正是中国人敢于冲破“敌人封锁”,敢于探索一条新路,敢于创新的典范嘛?正如现在越来越多的人升级使用鸿蒙,这条新路取得了显著的胜利。创新开辟新生机,鸿蒙做到了。
  • 代码复用与创新的关系:国内有些许人觉得鸿蒙OS不过是“安卓套壳”,不算真正的自主操作系统。但很少有人知道在ASOP这个项目里,任何机构和企业都有义务为开源社区贡献代码,也能够使用和下载开源代码,并基于开源项目做二次开发。所以ASOP的代码并不全是谷歌写的,华为也是ASOP的重要贡献者,所以华为的代码复用行为并不算照抄甚至剽窃(查阅搜狐网报道:人民日报为鸿蒙OS“正名”:华为的抱负很大!)。而在我看来,代码复用可以大大减少了创新项目的开发周期和成本,更可以把精力放到创新所需要的其他方面。所以,适量的代码复用可以促进创新的发展,创新也给予了被复用代码的新发展方向,从而给予了旧代码新的“生命”。

代码风格分析 

  • 好的代码风格1 :
    • 代码示例:
    • “···
    •  

       ···”

    • 分析:if语句的左花括号不换行可以使代码显得更加紧凑,也更加专业。
  • 好的代码风格2 :
    • 代码示例:
    • “···
    • enum CheckListVCType{
               case writeCheckList //填写检查表
               case onlyRead //查看检查表
               case onlyReadWithPass //查看检查表
      }

      enum ShopVisitType{
               case toBeFilled //待填写
               case reject //驳回
               case pass //通过
               case approval //待审批
      }

    • ···”
    • 分析:1)如果能够实现同样的功能,且逻辑清楚的情况下,代码越少,代码就更简洁易懂,对于程序员就更容易维护,更不容易出错等。所以在代码里,一些地方会被用到多次的时候,就可以把它写成函数,类等可以公共使用的代码。2)必要的注释可以让阅读者一目了然,增强代码的可读性。
  • 不好的代码风格1:(参考https://blog.csdn.net/hk121/article/details/81098772
    • 代码示例:
    • ”···
    •  

       ···“

    • 分析:建链表的时候,定义一个抽象数据类型,存放整数时编译一次,存放字符串时,需要重新定义Type再编译一次,存放其它类型同样要重复定义及编译,更无法同时使用多个数据类型。
    • 改进:通过查阅资料,解决方法有两种,
    • 1)存值(保存数据的指针和长度,会带来性能开销)
    • “···
    •  

       ···”

    • 2)存指针(保存指向对象的指针,存取效率高)
    • “···
    •  

       ···”

posted @ 2021-09-06 20:36  ReallyCare  阅读(174)  评论(1编辑  收藏  举报