posts - 864, comments - 185, trackbacks - 1, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

公告

软件设计

摘要: 优化 Unix经验告诉我们最主要的就是如何知道不去优化,最强大的优化工具就是不做优化(摩尔定律)。如果仅仅是为了减少资源使用的一个常数部分而优化是不值得的,更明智的做法是把高次的指数级降下来。善用profiler估量程序,并谨记工具误差,降低误差影响的一个方法是在相同负载下多次profiler。最有效的代码优化方法是保持代码短小简单,永远不要将核心数据结构和时间关键循环抛出缓存。性能往往受限于IO(尤其是网络程序),经验法则是尽可能降低时延:对可以共享启动开销的失误进行批处理;允许事务重叠;缓存。工具编辑器:vi、emacs代码生成器:yacc、lex自动化编译:make版本控制:VCS运行期阅读全文

posted @ 2012-02-14 22:59 feisky 阅读(89) | 评论 (0) 编辑 |

摘要: 最小立异原则如有可能,尽量允许用户将接口功能委派为熟悉的程序来完成不能委派时,那就效仿接口设计评估 简洁:一个事务处理需要的动作时间及复杂度需要较低的上限 表现力: 接口可以触发相当广泛的行为 易用: 易用性同要求用户需要记忆的东西成反比 透明: 用户在使用接口的时候,几乎没有什么问题、数据或程序的相关状态需要记忆 脚本化能力:很容易被其他程序调用CLI和可视接口之间权衡 CLI:丰富的表现力,高度的脚本化能力,易用性低(需要费劲的记忆),透明度通常也较低 GUI:易用,不能脚本化,处理规模大的问题需要机械性重复操作 长远来看,为了既能服务一般用户,又能服...阅读全文

posted @ 2012-02-12 13:18 feisky 阅读(234) | 评论 (0) 编辑 |

摘要: 什么应是可配置的Unix提倡建立机制而把策略决定权留给用户,往往会导致选项过多。不应该配置:能够可靠自动检测的东西;用户不应该看到优化开关;能用脚本包装器或简单管道完成的任务,就不要使用配置开关实现。配置放在哪里/etc目录:管理员设置的系统级选项支持#开头的注释不去别隐匿的空白符多个连续的空行视为单个空行词法上把文件视作简单的用空白符分割的标记序列,或多行标记,但支持以字符串语法对内嵌空白符的...阅读全文

posted @ 2012-02-07 21:58 feisky 阅读(167) | 评论 (0) 编辑 |

摘要: Unix下有很强大的专用代码生成器,如用yacc/lex来构建语法分析器和词法分析器、用autoconf或automake生成makefile等。这些工具具有很强大的功能,但还有一些简单轻巧的代码生成方式,下面是《Unix编程艺术》中的两个例子。生成ASCII显示的代码如果在程序中直接通过初始化器来写出所有行,会出现对齐、每行很难保证79字符的问题。Ascii源码的解决方法是通过脚本生成这部分...阅读全文

posted @ 2012-02-05 15:32 feisky 阅读(149) | 评论 (0) 编辑 |

摘要: 本文示例代码采用的是c语言。之前介绍过数据驱动编程《什么是数据驱动编程》。里面介绍了一个简单的数据驱动手法。今天更进一步,介绍一个稍微复杂,更加实用的一点手法——表驱动法。关于表驱动法,在《unix编程艺术》中有提到,更详细的描述可以看一下《代码大全》,有一章专门进行描述(大概是第八章)。简单的表驱动:《什么是数据驱动编程》中有一个代码示例。它其实也可以看做是一种表驱动手法,只不过这个表相对比较简单,它在收到消息后,根据消息类型确定使用调用什么函数进行处理。复杂一点的表驱动:考虑一个消息(事件)驱动的系统,系统的某一模块需要和其他的几个模块进行通信。它收到消息后,需要根据消息的发送方,消息的类阅读全文

posted @ 2012-02-04 21:19 feisky 阅读(68) | 评论 (0) 编辑 |

摘要: 前言:最近在学习《Unix编程艺术》。以前粗略的翻过,以为是介绍unix工具的。现在认真的看了下,原来是介绍设计原则的。它的核心就是第一章介绍的unix的哲学以及17个设计原则,而后面的内容就是围绕它来展开的。以前说过,要学习适合自己的资料,而判断是否适合的一个方法就是看你是否能够读得下去。我对这本书有一种相见恨晚的感觉。推荐有4~6年工作经验的朋友可以读一下。正题:作者在介绍Unix设计原则时,其中有一条为“表示原则:把知识叠入数据以求逻辑质朴而健壮”。结合之前自己的一些经验,我对这个原则很有共鸣,所以先学习了数据驱动编程相关的内容,这里和大家分享出来和大家一起讨论。数据驱动编程的核心数据驱阅读全文

posted @ 2012-02-04 21:16 feisky 阅读(78) | 评论 (0) 编辑 |

无觅相关文章插件,快速提升流量