第2次作业—— 谈谈鸿蒙操作系统
一、鸿蒙操作系统
(1)开发背景
鸿蒙操作系统的开发是时代下的产物,无论是长久以来外国对于我国在关键技术上的封锁,还是近期世界局势的剧烈变动,亦或是科学技术的飞速发展,都是鸿蒙操作系统能够诞生发展的因素之一。具体可以概括为下面六点:
1、数字化的时代背景:数字化新时代的到来需要新的操作系统;
2、IoT 与 5G:5G物联网时代的到来对操作系统提出了新的要求;
3、中国面临“卡脖子”的挑战:独立自主的研发操作系统是迫切的需求;
4、人工智能的兴起:AIoT场景天然要求多设备智能协同,需要一个适用于各类型机器的操作系统;
5、大数据与云计算:TB、PB级的大数据需要一个能够提供多机互联的操作系统;
6、全球信息安全面临挑战:网络安全威胁呈现多元化、复杂化、频发高发趋势,需要一个足够安全的系统进行保障。
(2)需求
突破我国一直以来在软件开发环境上受限于人的处境,保障我国在网络信息的安全,满足5G等新兴技术在操作系统上的新需求
(3)应用市场
3C设备,智慧家居以及5G基建的建设
(4)可能趋势
以手机为主入口,建立鸿蒙生态,逐步扩充生态圈,对平板、PC、穿戴、HD、AI 音箱、耳机、VR、车机进行逐步覆盖,在此之后实现泛 IoT 硬件”,包括照明、安防、环境、清扫等方面的运用,实现多种场景情况下的覆盖。
二、关于鸿蒙操作套壳的争议,谈谈你的观点。(什么是创新?代码复用是不是创新?)(20分)
创新是旧土开新花,而非无中生有,新的东西往往是在旧的基础上诞生的,鸿蒙系统诞生之初,无法完全摆脱旧有框架的影子,所谓的鸿蒙套壳问题其实就是这种情况的反应。我们乐于见到创新,但创新不是一蹴而就的,新的想法需要时间去蜕变,至于是否能够成功,代码复用并不是判定是否是创新的关键,在信息技术的发展中借鉴前人经验是很常见的现象,能否实现在此之上的新的产出才是创新的关键。
三、代码风格:从代码仓库中选取一段或几段源代码,从代码风格的角度,分析好的代码风格、不好的代码风格。至少3点。(60分)。
好的代码风格:
inline bool
operator== (const Sales_item &lhs, const Sales_item &rhs)
{
// must be made a friend of Sales_item
return lhs.units_sold == rhs.units_sold &&
lhs.revenue == rhs.revenue &&
lhs.same_isbn(rhs);
}
不好的代码风格:
inline bool operator== (const Sales_item&lhs,constSales_item &rhs)
{
// must be made a friend of Sales_item
return
lhs.units_sold == rhs.units_sold && lhs.revenue ==rhs.revenue && lhs.same_isbn(rhs);
}
两种写法的优美明显可见:
①。第一个的写法把inline bool自成一行,可以清晰的看见返回值类型,而不像我所写的返回值类型,函数名,形参表等挤在一行,重点可能因此就被埋没了。
②。第一种写法把每个做相等比较的语句放一行,而不是把2个&&都写在一行了。
好的代码风格:
eslint: indent
function hello (name) {
console.log(‘hi’, name)
}
除需要转义的情况外,字符串统一使用单引号。
eslint: space-before-function-paren
function name (arg) { … } // ✓ ok
function name(arg) { … } // ✗ avoid
run(function () { … }) // ✓ ok
run(function() { … }) // ✗ avoid
始终使用 === 替代 ==。
例外: obj == null 可以用来检查 null || undefined。