位置: 编程技术 - 正文

让代码整洁、过程清晰的BASH Shell编程技巧(代码整洁之道 高清pdf)

编辑:rootadmin

推荐整理分享让代码整洁、过程清晰的BASH Shell编程技巧(代码整洁之道 高清pdf),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:代码整洁之道和重构,代码整洁之道总结,《代码整洁之道》,代码大全和代码整洁之道,代码整洁之道总结,代码整洁之道适合什么人读,代码整洁之道选摘,《代码整洁之道》,内容如对您有帮助,希望把文章链接给更多的朋友!

这是我写BASH程序的招式。这里本没有什么新的内容,但是从我的经验来看,人们爱滥用BASH。他们忽略了计算机科学,而从他们的程序中创造的是“大泥球”(译注:指架构不清晰的软件系统)。

在此我告诉你方法,以保护你的程序免于障碍,并保持代码的整洁。

一、不可改变的全局变量

1.尽量少用全局变量2.以大写命名3.只读声明4.用全局变量来代替隐晦的$0,$1等

在我的程序中常使用的全局变量:

二、一切皆是局部的

所有变量都应为局部的。

1.自注释(self documenting)的参数2.通常作为循环用的变量i,把它声明为局部变量是很重要的。3.局部变量不作用于全局域。

三、main()

1.有助于保持所有变量的局部性2.直观的函数式编程3.代码中唯一的全局命令是:main

四、一切皆是函数

唯一全局性运行的代码是:- 不可变的全局变量声明- main()函数

1.保持代码整洁2.过程变得清晰

1.第二个例子好得多。查找文件是temporary_files()的问题而非main()的。这段代码用temporary_files()的单元测试也是可测试的。

2.如果你一定要尝试第一个例子,你会得到查找临时文件以和main算法的大杂烩。

如你所见,这个测试不关心main()。

五、调试函数

带-x标志运行程序:

只调试一小段代码,使用set-x和set+x,会只对被set -x和set +x包含的当前代码打印调试信息。

打印函数名和它的参数:

调用函数:

会打印到标准输出:

让代码整洁、过程清晰的BASH Shell编程技巧(代码整洁之道 高清pdf)

六、代码的清晰度

这段代码做了什么?

让你的代码说话:

七、每一行只做一件事

用反斜杠来作分隔符。例如:

可以写得简洁得多:

符号在缩进行的开始

符号在行末的坏例子:(译注:原文在此例中用了temporary_files()代码段,疑似是贴错了。结合上下文,应为print_dir_if_not_empty())

好的例子:我们可以清晰看到行和连接符号之间的联系。

八、打印用法

不要这样做:

它应该是个函数:

echo在每一行重复。因此我们得到了这个文档:

注意在每一行的行首应该有一个真正的制表符‘t'。

在vim里,如果你的tab是4个空格,你可以用这个替换命令:

九、命令行参数

这里是一个例子,完成了上面usage函数的用法。我从 得到这段代码

你像这样,使用我们在头上定义的不可变的ARGS变量:

十、单元测试

1.在更高级的语言中很重要。2.使用shunit2做单元测试

这里是另一个使用df命令的例子:

这里我有个例外,为了测试,我在全局域中声明了DF为非只读。这是因为shunit2不允许改变全局域函数。

shell常用重定向实例讲解 每个打开的文件都会被分配一个文件描述符.stdin(键盘),stdout(屏幕),和stderr(错误消息输出到屏幕上)的文件描述符分别是0,1,和2.对于正在打开的额外文件,

awk中RS、ORS、FS、OFS的区别和联系小结 学习awk时,一定要记得动手去实践,只有在实践中才能发现问题,以下就我在学习中和实践中的经验,总结一下RS,ORS,FS,OFS的区别和联系。一,RS与ORS1,R

shell中的循环语句、判断语句实例 shell的循环主要有3种,for,while,untilshell的分支判断主要有2种,if,case一,for循环#!/bin/bashforfilein$(ls/tmp/test/mytest|grepsh)//forin格式是shellfor的基本格式,

标签: 代码整洁之道 高清pdf

本文链接地址:https://www.jiuchutong.com/biancheng/371584.html 转载请保留说明!

上一篇:Shell脚本函数定义和函数参数(shell脚本语句)

下一篇:shell常用重定向实例讲解(shell exec重定向)

  • 营业账簿指什么
  • 企业如何加强应收账款的管理
  • 业务招待费列支内容
  • 煤矿企业维简费税务规定
  • 计提资产减值准备金的纳税调整
  • 采用重置成本计量属性的税种是
  • 存出保证金的账务处理
  • 购买方和销售方一样可以报销吗
  • 境外企业开票没有税号怎么办?
  • 土地房产税征收范围
  • 分支机构分配表 资产总额无法区分怎么办
  • 两年前少缴的税款是否应补缴?
  • 运输公司购买机票怎么买
  • 预收账款的会计编码是多少?
  • 不开票的收入怎么办
  • 现金流量表的编制原则为( ),是( )的概念
  • 控制上网速度的软件
  • 收到财政局专项审计短信
  • 小规模纳税人增值税税收优惠政策
  • 公司购买理财产品账务处理
  • win10怎么自定义开机音乐
  • 绝地求生要什么电脑配置
  • 怎么区分债券折价还是溢价
  • 工资总额包括哪些福利费
  • 个人补缴的养老全部划入个人账户
  • smart图形怎么单独设置动画
  • 企业汇算清缴费用
  • 成本法的优点是计算较为简便,缺点是
  • 增值税实际税负计算公式
  • 纳税人销售免税货物
  • 确保政府采购
  • less命令怎么用
  • squid 启动命令
  • inotify_event
  • powercfg off
  • 车间主要有哪些事故风险
  • 物流货运发票要交税吗
  • 日主题ripro v8.1破解版(修复缓存器功能)
  • python中的装饰器的使用实战
  • 现代服务包括哪些内容是什么
  • linux环境中使用哪些搜索命令比find更高效
  • mysql批量查询
  • 分公司可以在银行贴现吗
  • 编制弹性预算的关键在于
  • 施工企业的成本核算
  • 以前年度的销售退回能否直接冲减销售收入
  • 一般纳税人城建税税率是多少
  • 哪些固定资产不需要计提折旧
  • 废料收入是什么会计分录
  • 预付账款的账务处理视频教程
  • 电子监控系统安装与维修
  • 合伙 利润分配
  • 不开票收入怎么做账
  • 注册资本可以随便填吗
  • 什么是来料加工和进料加工
  • innodb怎么实现
  • win8.1鼠标没反应
  • win7桌面库图标怎么删除
  • linux ubuntu安装教程
  • bios怎么恢复出厂设置教程
  • windows么
  • Windows XP英文版序列号
  • 太极越狱助手
  • centos nis
  • WIN7系统共享文件夹 您没有权限访问
  • win8 chkdsk
  • win7系统出现蓝屏重启怎么办
  • css百分比进度条
  • 内存一次性读多少字节
  • bat error
  • angular.js
  • jquery写入json文件
  • [置顶]电影名字《收件人不详》
  • 如何使用jquery实现点击按钮弹出一个对话框
  • 如何解决android兼容问题
  • Android 4.4 Dialog 被状态栏遮挡的解决方法
  • 那些so 叼的android studio 插件
  • flask框架下使用scrapy框架
  • 税务局打印申报表
  • 数电发票抄报税操作流程
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设