带你读《SAS数据分析开发之道 软件质量的维度》第三章通信交流3.1返回码(一)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: 带你读《SAS数据分析开发之道 软件质量的维度》第三章通信交流3.1返回码(一)

看到危地马拉在丛林高处建的树屋,我对爬上床这个短语有了新的认识,目睹了玻利维亚完全拿盐块建造的旅店,耳闻了阿根廷畜牧场的奶牛哞哞叫到深夜,在我背包到国外旅行的过程中,我发现了一条住宿的真理    :越偏僻的地方,可能越需要注意与外界的通信交流。

旅途中没有信号也是可能会发生的事情,但与其说是苦行者的选择,不如说是被    迫的,因为现在的网络连最偏远的住所和场所都覆盖了。背包旅行的互动性越来越强,因此,从某种意义上来讲,在国外比在家里更容易与他人互动。背包客看起来好像必    须要保持SkypeFacebookTwitterInstagramSnapchat及邮箱的在线状态,随时上传照片和视频,以向他人证明你过得非常愉快。

但是有些通信交流并不仅仅意味着游客在社交媒体上获得愉悦感。

我在危地马拉碰到了几个欧洲人。之后,我们发现自己在相同的时间内分别会在其他 3个不同的国家,相互通过信息联系,最后在秘鲁会面。

查看电子邮件后,我发现通往哥伦比亚背包客栈的山路被冲垮了,所以我重新预订了其他地方的酒店,避免了自己在泥水中跋涉。

查看了 Facebook 之后,我知道一个朋友刚刚生了孩子,因此,我在厄瓜多尔给她买了一件手工毛毯。

我在秘鲁的阿雷基帕遇上了大雾,错过了去往复活节岛的航班,因此,我到酒店取消了预订的房间,决定继续去智利旅行。而且,当在布宜诺斯艾利斯查看了银行账户之后,我决定放弃继续冒险,选择如期回家。

■■■

在背包旅行中,如果未能与他人进行通信交流,我可能会错失许多机会,遇到很多危险,总之,我可能会被现实世界遗忘。如果没有通信交流,我的旅行可能不会这样圆满,在某些情况下,通信交流使旅行的价值得到了最大体现。

通信交流使我们能够发送一封电子邮件即可预订哥伦比亚的背包客栈,20      分钟就能在网上订一张机票。软件通常将参数传送给 SAS宏和程序以提升功能性,如果没有这些行动命令——机票或参数,我们就不会开启冒险之旅。

另外,通信交流都是双向的,通常能提供一个确认功能。预订成功的电子邮件会让我知道自己已经成功地完成预订,可以放心地做其他事情了。软件中的返回码能证明程序的顺利进行,让父进程知道子进程顺利启动并成功完成任务。

在其他情况下,通信交流带来的可能是不幸的消息——某条路被冲垮了,或者连续几天会有大雾,但这些不幸的消息是非常有价值的。在生活及软件中,借助前摄的交流模式,我们可以规避、降低或消除一些风险。当故障或能够导致故障发生的一些情况被检测并发送出去之后,软件有时依然能借助动态异常处理例程实现全部的商业价值。

但如果故障是突然发生的、毫无征兆的,例如,你无比伤心地发现自己一个周末都不能玩   Rapa    Nui,那么交流会帮助你找到其他的替代品。我错过了现场观看摩艾石像的机会,但偶然在智利的瓦尔帕莱索考古学博物馆中看到了一个。另外,软件中的通信交流能指示何时终止某个程序或操作,以避免资源浪费。

每一个背包客都不是孤立的,因为会有更多的人源源不断地加入背包旅行中,他们相互交流信息,几周或几个月后再次相聚,相互分享所见所感之后继续上路。同样的,平行处理包括独立的处理过程,这些独立的处理过程在达成共同目标时可能会采用分散或协调的路径,因此,各个处理过程之间的交流是非常有必要的,它能安排进度,协调结构,排解问题以保证进程有序进行。

尽管以上案例主要介绍内部交流,但外部交流同样也是非常重要的。银行业务活动、求职活动及购买毛毯活动等让我从自我陶醉的状态回到现实世界中,而且这些活动确保我没有返回到杂乱的生活中。软件并不只是内部的交流——它也需要外部交流,需要将程序的效果、故障及性能指标告知利益相关者。


返回码

返回码是软件记录和传输性能指标的首选方法。BaseSAS语言能生成反映常态或非常态(或异常)功能的返回码,若SAS代码语法结构正确,但在运行过程中遇到异常情况,通常,日志中就会记录一条提示、警告或运行时错误,一个或多个自动返回码就会自动更新。例如,如果 LIBANME   语句提示一个无效的逻辑位置,那么日志中会生成一条提示,SAS自动宏变量 &SYSLIBRC 就会设置为一个负值。

SAS代码遇到语法错误时,日志会显示运行时错误,同时一个或多个返回码更新。如果 LIBNAME陈述中包含一个语法错误,如遗漏了定义Library的引号,那么日志中就会记录一个运行时错误&SYSLIBRC值会设置为正值。在生产型软件中,上述语法错误在开发和测试阶段就应该纠正,从而避免在软件操作过程中再遇到此类错误。因此,在生产型软件中,返回码主要用于检测环境及其他可能会发生的异常情况,以及验证软件的性能及完成情况。例如,异常情况的处理和传递能有效提升自动防故障装置路径的性能(11章会讲到

就像 SAS自动宏变量作为 SAS程序、函数、计算机程序指令及 DATA步骤的返回码一样,用户生成的返回码所起到的作用是沟通交流、验证SAS宏。通过在宏中创建一个通用的宏变量,与该宏性能相关的信息会传送回调用该宏的父进程中。验证    某个宏或其他    SAS    程序准确完成能够表明该程序的顺利进行,之后程序可以相继启动。当返回码用于异常情况处理框架时,它便能够促进动态的、数据驱动型的程序,    在运行过程中灵活应对运行环境。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
3月前
|
数据采集 存储 监控
数据驱动开发:如何将数据分析融入开发流程
【8月更文挑战第14天】数据驱动开发是一种高效、智能的软件开发方法论,它通过将数据分析深度融入开发流程中,实现了精准决策、提升效率和持续改进的目标。为了成功实施数据驱动开发,团队需要明确数据需求、设计合理的数据架构、集成数据收集工具、实施CI/CD流程、进行数据分析与决策支持以及建立反馈循环机制。同时,还需要应对数据质量、技术和组织与文化等挑战。通过不断努力和实践,团队可以逐步建立起完善的数据驱动开发体系,推动产品不断迭代升级和业务持续增长。
|
5月前
|
存储 弹性计算 DataWorks
云端开发与数据分析的强强联合
通过这次方案的搭建和使用,我更加确信阿里云产品组合是企业数字化转型的强大助力。我鼓励大家积极探索和尝试这些服务,以发掘它们在实际业务中的潜力和价值。我深刻体会到了阿里云产品组合的强大能力和灵活性。它们不仅帮助我们解决了实际问题,还为未来的发展提供了坚实的基础。我强烈推荐其他企业和开发者尝试这样的产品组合,以提升开发效率和数据处理能力。
128 35
|
5月前
|
存储 数据挖掘 索引
Python streamlit框架开发数据分析网站并免费部署
使用Python的Streamlit框架,开发了一个在线数据分析工具,替代Excel查看设备温度CSV数据。通过pandas读取数据,matplotlib绘制图表。程序处理CSV,提取所需列,计算最大最小平均值,用户可多选查看特定数据。[GitHub](https://github.com/yigedaigua/MGHB)上有完整代码,应用已部署至Streamlit Cloud。
|
6月前
|
数据可视化 数据挖掘 Python
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
基于Python开发的Excel数据分析系统(源码+可执行程序+程序配置说明书+程序使用说明书)
144 0
|
6月前
|
机器学习/深度学习 数据挖掘 BI
推荐一款 Python 数据分析报告开发与分享神器
推荐一款 Python 数据分析报告开发与分享神器
117 0
|
6月前
|
机器学习/深度学习 数据采集 人工智能
Python可以应用于多个领域,如Web开发、数据分析、机器学习等
Python可以应用于多个领域,如Web开发、数据分析、机器学习等
118 0
|
SQL 数据采集 数据可视化
数据开发模块中的SQL和数据分析模块中的SQL查询
数据开发模块中的SQL和数据分析模块中的SQL查询
176 1
|
数据挖掘
怎么理解数据分析、维度和指标?
怎么理解数据分析、维度和指标?
|
机器学习/深度学习 人工智能 算法
Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能
Python编程入门基础及高级技能、Web开发、数据分析和机器学习与人工智能
175 0
|
存储 数据挖掘 API
python开发:空气质量历史数据分析(一)
python开发:空气质量历史数据分析(一)
171 0