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

一:概述鸿蒙操作系统:

 开发背景:操作系统是电子产品的灵魂,我国科技产业没有自主研发的操作系统。

 需求:(1):需要大量的实践,用户使用者越多,就越能发现其中的不足之处,对鸿蒙系统进行更好更优的维护。

(2):需要部署在各个领域上,完善和测试鸿蒙在手机和其他智能制造方面。

开发历史:

(1):2012,华为开始规划自有操作系统“鸿蒙”。

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

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

(4):2019年8月9日,华为正式发布鸿蒙系统。同时余承东也表示,鸿蒙OS实行开源。在中国信息化百人会2020年峰会上,华为消费者业务CEO余承东表示,鸿蒙os目前已经应用到华为智慧屏、华为手表上,未来有信心应用到1+8+N全场景终端设上。

(5):2020年9月10日,华为鸿蒙系统升级至华为鸿蒙系统2.0版本,HarmonyOS2.0。余承东表示,2020年12月份将面向开发者提供鸿蒙2.0的beta版本

应用场景和发展趋势:

(1): :针对领域不同,鸿蒙针对物联网,安卓以手机为主;鸿蒙采用的方舟编译器使得运行性能大幅提升;鸿蒙采用微内核,比安卓采用的宏内核拓展性以及可靠性强。当前物联网领域操作系统仍以安卓为主,但中信建投认为鸿蒙系统更加适合未来物联网场景。

(2): 国盛证券认为,鸿蒙的未来三大趋势明确,开源、平台化和生态搭建。参与开源,与前辈高手过招,是最容易的成长方式;鸿蒙系统剑指打通手机、电脑等多种硬件,统一成一个操作系统,并兼容安卓与全部的 Web 应用,实现软硬件平台一体化的目标;未来如何吸引到更多的应用开发者提供优质、稳定的软件应用产品,避免仅仅局限在华为.

(3): 鸿蒙是安可、5G、云计算的交汇核心,是生态级别的安可。国盛证券强调,安可、5G、云计算将是未来的三大科技主线,而操作系统作为衔接硬件与上层软件之间的支撑,是影响软件产业配套的核心技术,无论对于支撑软件产业发展,还是保障信息安全,作用都十分重要。可以说,鸿蒙生态是安可核心领域之一,是生态级别的安可。

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

(1): 什么是创新:(联系鸿蒙系统分析)

近年来的手机方面的操作系统都是以安卓操作系统为主,国人都习惯了安卓操作系统,所以为了用户的体验,鸿蒙操作系统兼容安卓系统,部分代码和安卓类似,鸿蒙系统保留了部分与安卓相同的地方,但是安卓只能在手机方面进行应用,而鸿蒙操作系统则是在各个智能方面应用为目标。创新就是在原有的部分基础上实现全新的,更好的过程。

(2):代码复用与创新的关系:

代码复用其实就是保留原有的一些东西,现在要实现的某些功能和原来的类似,这样做会大大降低开发时间,提升效率,个人觉得创新是在思想上的创新,前人的东西是可以借鉴和学习的。

三、代码风格分析

好的代码风格分析:

(1) 

“ …

 

 

 

…”

分析:判断逻辑过多此时应该每个逻辑单独成立一行便于阅读,看起来不那么繁重

(2)

“…

// Check that all data records

// are correct

foreach (Record record in records)

{

if (rec.checkStatus()==Status.OK)

{

. . .

}

}

// Now we begin to perform

// transactions

Context ctx = new ApplicationContext();

ctx.BeginTransaction();

…”

分析:每一块代码或者每一行代码应该加上注释,便于后期进行阅读和相关工作人员的维护。但是不要写没用的注释。

(3)

“…

public class Game {
    private Integer gameId;

    private Date gameDate;

    private Integer homeTeamId;

    private Integer homeTeamScore;

    private Integer visitingTeamId;

    private Integer visitingTeamScore;

    private Integer typeId;

    private Integer status;

    private Integer isDel;

    public Integer getGameId() {
        return gameId;
    }

    public void setGameId(Integer gameId) {
        this.gameId = gameId;
    }

    public Date getGameDate() {
        return gameDate;
    }

    public void setGameDate(Date gameDate) {
        this.gameDate = gameDate;
    }

    public Integer getHomeTeamId() {
        return homeTeamId;
    }

    public void setHomeTeamId(Integer homeTeamId) {
        this.homeTeamId = homeTeamId;
    }

    public Integer getHomeTeamScore() {
        return homeTeamScore;
    }

    public void setHomeTeamScore(Integer homeTeamScore) {
        this.homeTeamScore = homeTeamScore;
    }

    public Integer getVisitingTeamId() {
        return visitingTeamId;
    }

    public void setVisitingTeamId(Integer visitingTeamId) {
        this.visitingTeamId = visitingTeamId;
    }

    public Integer getVisitingTeamScore() {
        return visitingTeamScore;
    }

    public void setVisitingTeamScore(Integer visitingTeamScore) {
        this.visitingTeamScore = visitingTeamScore;
    }

    public Integer getTypeId() {
        return typeId;
    }

    public void setTypeId(Integer typeId) {
        this.typeId = typeId;
    }

    public Integer getStatus() {
        return status;
    }

    public void setStatus(Integer status) {
        this.status = status;
    }

    public Integer getIsDel() {
        return isDel;
    }

    public void setIsDel(Integer isDel) {
        this.isDel = isDel;
    }
}

 

…”

分析:定义类时,一般使用private属性修饰,确保安全,若对其变量值进行更改时调用get(),set()方法。

 

 

 

 

 

 

posted @ 2021-09-16 09:53  潇洒哥黑大帅  阅读(196)  评论(0编辑  收藏  举报