1894_透明性以及可显性

1894_透明性以及可显性

全部学习汇总: g_unix: UNIX系统学习笔记 (gitee.com)

这是一个透明性以及可显性的基本描述。

这个是对透明性以及可显性的功能作用的一个基本描述。

做一个简单的小结,从一个软件工程师的角度来看看透明性以及可显性的概念和作用。那么,透明性其实是我们是否能够看得到或者了解得到软件设计的一些想法和方案;而可显性则是软件本身或者附加的文件信息是否能够给出软件行为的一些解释或者提示。

关于透明性,在软件设计上一般考虑的点有很多方面。尤其是,当我们考虑这个需要在unix这样的大系统环境上存在的时候。然而,如果拿来主义,想把这些用在嵌入式的领域中有什么值得参考的呢?我自己总结了几点如下:

  1. 模块化到位,接口清晰且正交;
  2. 接口的包装调用少,尽量减少层层调用;按照unix的哲学,当这个数目超过4的时候可能就得当心了。
  3. 尽量不用存在过多的抽象层。我觉得这个很重要,但是对于水平一般的人来说或许又不重要。因为很多人的软件设计我称之为是漫游式的,很难看得出来层级的关系。
  4. 程序和数据进行良好的分离,且有着明确的处理关系。

如果是从软件底层调试的角度来说,嵌入式很多内容其实是无从隐藏的。但是,从这里的说明我们还是可以得到一些软件实现上的借鉴的。那就是在软件中增加一部分必要的检查并且提供调试提示信息的开启方法。其实,现在比较流行的汽车电子的软件开发架构AUTOSAR中是有一个DET的功能的,这个就是非常好的一个设计体现。

软件设计的时候要从可维护的角度做充分的思考。写到这里,我想到了SICP中关于软件代码设计的一个观点。“软件代码设计出来的主要目的应该是为了给程序员阅读查看的,偶尔才会需要计算机运行一下。”如果按照这样的观点或者原则设计出来的代码,或许在可读性以及可维护性上会有非常好的表现。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/368401.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

[职场] 资信评估是什么? #学习方法#笔记

资信评估是什么? 资信评估是指对个人或机构的信用状况进行评估和分析的过程。它主要通过收集和分析各种相关信息来评估借款人或机构的还款能力、信用历史和风险承受能力,以确定其信用等级或信用评分。 资信评估通常包括以下几个方面的内容: …

2024年【道路运输企业主要负责人】新版试题及道路运输企业主要负责人考试试题

题库来源:安全生产模拟考试一点通公众号小程序 道路运输企业主要负责人考试报名是安全生产模拟考试一点通总题库中生成的一套道路运输企业主要负责人理论考试,安全生产模拟考试一点通上道路运输企业主要负责人作业手机同步练习。2024年【道路运输企业主…

gif动图的裁剪实现思路

项目需求(对app的轮播,以及banner和咨询的图片进行裁剪):前期实现使用用vue-cropper插件对图片进行插件,----后续需求需要裁剪gif动图(vue-cropper、微信自带的截图工具,以及fastStone截图工具,都只能截取静态图片,打开动图时只显示某一帧的静态图片),所以需要研究为什么vue-cr…

Blender 与 3ds Max | 面对面的直接较量(2024)

Blender和3ds Max,哪个动画软件更好?作为一个从事动画领域十年的专业人士,Mark McPherson提供了八条最新建议,帮助你了解哪个软件更适合满足你的3D动画需求。 1.建模 获胜者:3ds Max。3ds Max的建模机制已经被证明是…

uniapp H5 px转换rpx

uniapp H5 px转换rpx 安装 px2rpx 重启 HBuilderX在要转换的文件 点击右键 点击 开启px2rpx(1px转成2rpx) 开启成功!使用 编辑页面后 按下键盘 Ctrl s 保存!转化成功!当然 你也需要对使用的插件 进行转换!否则可能导致样式出现…

xinput1_3.dll文件缺失的解决方法

在使用计算机的过程中,遇到“找不到xinput1_3.dll”这样的错误提示并不罕见。该问题通常出现在尝试启动某些游戏或应用程序时,特别是那些依赖于Microsoft DirectX接口来处理输入设备(如游戏手柄)的程序。xinput1_3.dll是DirectX库…

Fink CDC数据同步(二)MySQL数据同步

1 开启binlog日志 2 数据准备 use bigdata; drop table if exists user;CREATE TABLE user(id INTEGER NOT NULL AUTO_INCREMENT,name VARCHAR(20) NOT NULL DEFAULT ,birth VARCHAR(20) NOT NULL DEFAULT ,gender VARCHAR(10) NOT NULL DEFAULT ,PRIMARY KEY(id) ); ALTER TA…

数学建模-退火算法和遗传算法

退火算法和遗传算法 一.退火算法 退火算法Matlab程序如下: [W]xlsread(D:100个目标经度纬度);>> x[W(:,1)];>> y[W(:,2)];>> w[x y];;d1[70, 40];>> w[d1;w;d1]ww*pi/180;%角度化成弧度dzeros(102);%距离矩阵初始化for i1:101…

STL——空间配置器

空间配置器是STL六大组件之一,它和其他五个组件相互配合,起着很关键的作用。 容器:各种数据结构、如vector、list、stack、deque、queue、set、map、unordered_map等等算法:各种算法,如sort、serach、copy、erase 提供…

【vue】报错 Duplicate keys detected 解决方案

错误描述:Duplicate keys detected. This may cause an update error.错误直译:检测到重复的键。这可能会导致错误。错误原因:有相同父元素的多个子元素的v-for有相同的key值。 解决方法: return:{dataList:[{name:张三&#xf…

坚持刷题|二叉树的前、中、后序遍历(递归迭代)

文章目录 题目思考递归实现迭代实现前序遍历后序遍历中序遍历 在前、中、后序的迭代遍历中,为什么都采用栈来模拟递归,而非队列? Hello,大家好,我是阿月。坚持刷题,老年痴呆追不上我,今天刷&…

excel给数据库初始化/旧数据处理(自动sql拼装)

思路: 首先导出数据到excel编写单条数据操作的sql利用excel CONCATENATE 函数自动生成,每一行数据的操作sql 小技巧:对于需要套娃的字段值,可以加一个临时列同样使用CONCATENATE函数进行sql拼装 案例: 1.临时列:CONCATENATE(C2, …

ROS方向第二次汇报(5)

文章目录 1.本方向内学习内容:1.1.自定义msg:1.1.1.定义msg文件:1.1.2.编辑配置文件: 1.2.自定义srv:1.2.1.定义srv文件:1.2.2.编辑配置文件: 1.3.服务通信案例实现:1.3.1.服务端实现…

回溯法:回溯法通用模版汇总以及模版应用

从一个问题开始 给定两个整数 n 和 k,返回 1 ... n 中所有可能的 k 个数的组合。 示例: 输入: n 4, k 2 输出: [ [2,4], [3,4], [2,3], [1,2], [1,3], [1,4] ] 很容易想到 用两个for循环就可以解决。 如果n为100,k为50呢,那就50层for循…

修改Vim编辑器的缩进和显示行数

一、Vim编辑器的缩进和显示行数 1.指令 sudo vi /etc/vim/vimrc2.插入内容 set tabstop4 set shiftwidth4 set nu 注意输入的格式,前后不要留空格 tabstop是输入按下tab缩进4个 shiftwidth是批量缩进4个 nu是显示行数

【blender烘焙】法线烘焙出现大面积结构丢失怎么办?blender烘焙vs八猴烘焙

用dcc烘焙法线是很常用的减面优化手段,很多建模的dcc自己也内置的烘焙的功能,像我自己在工作流中也偶尔用blender的烘焙做一下材质的整合优化,在质量要求不高的时候还算凑合可用。 问题描述 在前期的文章中飞燕2号建模,我就遇到…

Vue3+vite搭建基础架构(5)--- 使用vue-i18n

Vue3vite搭建基础架构(5)--- 使用vue-i18n 说明官方文档安装vue-i18n使用vue-i18n测试vue-i18n的国际化配置 说明 这里记录下自己在Vue3vite的项目使用vue-i18n做国际化语言的过程,不使用ts语法,方便以后直接使用。这里承接自己的…

Paper - 转角密度估计器 RDE (Rotamer Density Estimator) 算法

欢迎关注我的CSDN:https://spike.blog.csdn.net/ 本文地址:https://spike.blog.csdn.net/article/details/136002649 Paper: Rotamer density estimator is an unsupervised learner of the effect of mutations on protein-protein interaction 转角密…

公交最短距离-算法

题目 给定一个一维数组,其中每一个元素表示相邻公交站之间的距离,比如有四个公交站A,B,C,D,对应的距离数组为,1,2,3,4,如下图示 给定目标站X和Y,求他们之间最短的距离 解题 遍历一次整个数组,…