当前位置: 首页 > article >正文

重温《Unix设计哲学》

重温Unix设计哲学

这个世界是复杂的,但往往本质的东西都是简单的。这些原则,不光是用在程序开发,也适用于架构设计,产品设计等等地方。

  1. 简洁原则:以简洁为美

    不要为了满足自己的虚荣心,企图搞一些花哨的东西。而是要:以简洁为美,总是设法将程序系统分解为几个能够协作的小部分,并本能地抵制任何用过多噱头来粉饰程序的企图。这就有点 Unix文化的意味了。

  2. 吝啬原则:除非确无它法,不要编写庞大的程序
    “大”有两重含义:体积大,复杂程度高。程序大了,维护起来就困难,项目就越容易失败。

  3. 透明性原则:设计要可见,以便审查和调试

    软件系统的透明性是指:你一眼就能够看出软件是在做什么,以及怎样做的。显见性指:程序带有监视和显示内部状态的功能,这样程序不仅能够运行良好,而且还可以看得出它以何种方式运行。

  4. 模块原则:使用简洁的接口拼合简单的部件

    要编制复杂软件而又不至于一败涂地的唯一方法就是:降低其整体复杂度。也就是:用清晰的接口把若干简单的模块组合成一个复杂软件。如此一来,多数问题只会局限于某个局部,那么就还有希望对局部进行改进而不至牵动全身。

  5. 分离原则:策略同机制分离,接口同引擎分离

    这里所谓的机制:比如后台服务根据某个业务逻辑,计算后输出数据。而策略,就是如何使用这些数据。

  6. 表示原则:优先用数据(数据结构)来表示知识,而不是用代码

    更进一步:在设计中,主动将代码的复杂度转移到数据中去。比如:用数组初始化器来表示转换表,而不是switch;用指针数来表示逻辑关系,而不是用50行代码的流程图来实现。

  7. 沉默原则:如果一个程序没什么好说的,就保持沉默

    只输出用户关注的信息,而不是什么信息都打印。

    设计良好的程序将用户的注意力视为有限的宝贵资源,只有在必要时才要求使用。

  8. 优化原则:雕琢前先得有原型,跑之前先学会走

    先实现功能,让软件运行起来,再对局部进行进一步优化。


http://www.kler.cn/a/132346.html

相关文章:

  • 【C#】C#编程入门指南:构建你的.NET开发基础
  • Python Web 开发的路径管理艺术:FastAPI 项目中的最佳实践与问题解析20241119
  • pytest结合allure做接口自动化
  • if 语句 和 case 语句
  • Excel数据动态获取与映射
  • 使用Faiss构建音频特征索引并计算余弦相似度
  • Leetcode——最长递增子序列
  • RPC实现简单解析
  • 从零开始写一个APM监控程序(一)协议
  • 机器学习算法——集成学习
  • java代码的错误
  • Vue理解01
  • 微内核操作系统
  • 【Java 进阶篇】JQuery 遍历 —— 无尽可能性的 `each` 之旅
  • CSS-列表属性篇
  • 世微 降压恒流驱动IC 景观亮化洗墙灯舞台灯汽车灯LED照明 AP5199S
  • 【MATLAB源码-第82期】基于matlab的OFDM系统载波频移偏差(CFO)估计,对比三种不同的方法。
  • 每日一练 | 华为认证真题练习Day132
  • 数据库的基本操作
  • CV计算机视觉每日开源代码Paper with code速览-2023.11.14
  • Linux Traefik工具Dashboard结合内网穿透实现远程访问
  • axios升级依赖版本后报错SyntaxError: Cannot use import statement outside a module
  • Netty传输object并解决粘包拆包问题
  • [Vue 代码模板] Vue3 中使用 Tailwind CSS + NutUI 实现侧边工具栏切换主题
  • 使用vscode的ssh进行远程主机连接
  • CVF_统一多模态之文字生成