UNIX编程艺术-读书笔记(1)

本文介绍了UNIX哲学中的17条核心原则,包括模块原则、清晰原则、组合原则等,旨在指导程序员如何编写简单、高效且易于维护的软件。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

UNIX的哲学

1、模块原则:多数问题只会局限于某个局部,那么就还有希望对局部进行该井而不至于牵动全身。

2、清晰原则:为了取得程序一丁点的性能提升就大幅度增加技术的复杂性和晦涩性,这个买卖做不得(容易bug,不容易读)永远不要吃力的去读一段晦涩的代码三次。

3、组合原则:如果程序不使用简单的文本输入输出流,他们就很难衔接。程序彼此要独立,替换一个程序而完全不会影响其他程序。以一点点的格式解析的代价去换取可以使用通用工具来构造或者解读数据流的好处是值得的。

4、分离原则:策略与机制分离,接口与引擎分离。策略和机制是按照不同的时间尺度变化的,策略的变化永远要比机制快,GUI工具包的观感时尚来去匆匆,而光栅操作和组合却是永恒的。

实现剥离的一个方法是使用一个包含c服务程序的库,而程序的控制流程则用脚本来粘合(Emacs);另一个方法是分成可以协作的前端和后端进程,通过套接字通讯。(好像是x-window)。

5、简洁原则:抵制任何用过多噱头来粉饰程序。

6、吝啬原则:非必要情况下不要写庞大程序(体积,复杂度)(软件的最佳大小?)

7、透明性原则:设计程序时要考虑透明性(程序的目的及实现)与显见性(内部状态可见)。设置调试选项。

8、健壮原则:超出设计者设想时也能运行良好。让程序内部逻辑更容易理解。考虑承受极端大量输入。

9、表示原则:即使最简单的程序逻辑让人类来验证也是很困难的,但是就算是很复杂的数据,对人类来说,还是相对容易就能够推导与建模的。在设计中,主动的将代码的复杂度转移到数据之中去。

10、通俗原则:最易用的程序就是用户需要学习新东西最少的程序。接口的设计应避免标新立异。反之,不同功能的程序应该避免使用相似的功能接口。

11、缄默原则:(来源:60-70年代缓慢的打印终端)可能要在管道中使用,因此不要乱输出没有意义的内容

12、补救原则:宽容的收,谨慎的发

13、经济原则:应在大多数场合使用高一级的语言,摆脱自行管理内存的负担。

14、生成原则:代码生成器。Parser, lexer, makefile

15、优化原则:过早的优化是万恶之源。过早的局部优化会妨碍全局优化,从而降低整体性能。先制作原型,在精雕细琢,优化之前应该确保能用。运行->正确->快。(最强大的优化工具恐怕就是delete键了)

16、多样原则:设计一个僵化,封闭,不愿与外界沟通的程序,简直就是一种病态的傲慢。(多种语言,开放可扩展,用户可定制)。

17、扩展原则:设计着眼未来。要为数据格式和代码留下可扩展的空间。稍微增加一点让数据部署具有自描述性的开销,就可以在无需破坏整体的情况下进行扩展。(什么叫做自描述性?)

 

总的来说unix哲学就是K.I.S.S.(Keep It Simple, Stupid!)

 

要良好的运用unix哲学,就应该珍惜时间绝不浪费。一旦某人已经解决了某个问题,就直接拿来利用,不要让骄傲或偏见拽住了你又重做一遍。永远不要蛮干,要多用巧劲,省下力气到需要的时候再用,好钢要用到刀刃上。善用工具,尽可能将一切都自动化。

内容概要:本文档详细介绍了Analog Devices公司生产的AD8436真均方根-直流(RMS-to-DC)转换器的技术细节及其应用场景。AD8436由三个独立模块构成:轨到轨FET输入放大器、高动态范围均方根计算内核和精密轨到轨输出放大器。该器件不仅体积小巧、功耗低,而且具有广泛的输入电压范围和快速响应特性。文档涵盖了AD8436的工作原理、配置选项、外部组件选择(如电容)、增益调节、单电源供电、电流互感器配置、接地故障检测、三相电源监测等方面的内容。此外,还特别强调了PCB设计注意事项和误差源分析,旨在帮助工程师更好地理解和应用这款高性能的RMS-DC转换器。 适合人群:从事模拟电路设计的专业工程师和技术人员,尤其是那些需要精确测量交流电信号均方根值的应用开发者。 使用场景及目标:①用于工业自动化、医疗设备、电力监控等领域,实现对交流电压或电流的精准测量;②适用于手持式数字万用表及其他便携式仪器仪表,提供高效的单电源解决方案;③在电流互感器配置中,用于检测微小的电流变化,保障电气安全;④应用于三相电力系统监控,优化建立时间和转换精度。 其他说明:为了确保最佳性能,文档推荐使用高质量的电容器件,并给出了详细的PCB布局指导。同时提醒用户关注电介质吸收和泄漏电流等因素对测量准确性的影响。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值