- 博客(15)
- 资源 (18)
- 收藏
- 关注
原创 记录最近web的一些学习和后面的计划
前一段时间对于WEB开发,了解了不少。不过主要是针对前端编程的,包括html5,css,JavaScript,dom等。前端编程的原理应该是这样,编写页面显示代码,浏览器收到这些代码后进行解析,然后根据描述(html,css,JavaScript)生成对应的图形。AIR的思想就很
2011-08-27 20:55:59 1876 1
原创 多道程序设计:分离进程为独立功能
Unix最具特点的程序模块化技法就是将大型程序分解成多个协作的进程。这种设计可以降低全局的复杂度,但是需要更多的关注进程间传递信息和命令的协议设计。对于通信协议的设计,真正的挑战不是设计协议语法而是设计协议的逻辑:即要有表达能力又要有防范死锁的能力。它是模块化的延续。在开发出可以
2011-08-23 20:31:50 2164
原创 透明性:来点光——unix编程艺术学习笔记
可显性是指是否容易入门;透明性是指入门后是否容易理解。为透明性和可显性设计运行各种方法保持代码简洁,也要专注同其他人交互的方式。 透明性之禅要追求代码的透明,最有效的方法很简单,就是不要在具体操作的代码上叠放太多的抽象层。这里作者又在批判OO的厚胶合层和过多的抽象层。:要设计简单
2011-08-23 20:09:09 1553
原创 为透明性和可显性而编码——UNIX编程艺术学习笔记
透明性和可显性同模块性一样,主要是设计的特性而不是代码的特性:1、 程序调用层次中最大的静态深度是多少?不考虑递归,为了建立心理模型来理解代码的操作,人们将要调用多少层?这个应该不是实际的代码调用层次。我现在倾向于小函数,所以调用层次会比较深。它这个应该是理解上的层次。2、
2011-08-23 20:06:35 2630
原创 程序库,面向对象语言——unix编程艺术学习笔记
1.1 程序库强烈倾向于把程序分解成有胶合层连接的库集合,特别是共享库。使用库来达到c语言的模块性。库分层的一个重要形式是插件。实例分析:GIMP插件1.2 UNIX和面向对象语言Unix的模块化传统就是薄胶合层原则。也就是程序底层和顶层之间的抽象层越少越好。原因可能是因为c
2011-08-23 20:03:58 2319
原创 模块化编码——unix编程艺术学习笔记
模块性体现在良好的代码中,但首先来自良好的设计。下面是问题清单:1、 有多少全局变量?全局变量时模块化的毒药,很容易使各个模块轻率,混乱的泄露信息。2、 单个模块的大小是否在hatton的“最佳范围内”(物理行在400~800间)?如果回答是不,很多都超过的话,就可能产生长期
2011-08-23 20:03:35 2112
转载 你是优秀程序员吗?
原文地址:http://news.cnblogs.com/n/112562/投递人 Astar发布于 2011-08-22 10:03评论(7)有1420人阅读 原文链接 [收藏] « » Are You a Good Programmer?
2011-08-22 22:02:36 2411 6
原创 敏捷,文档,人才,文化——谈小公司研发管理
下面是最近对公司研发管理的一些思考,和大家一起讨论。一:关于敏捷:1)敏捷是否适合电信行业?对于想互联网这样“小而快”的行业,敏捷开发无疑是适合的。但是对于电信行业这种“大而笨”的行业,是否也适合?我一直有这样的疑问。电信行业有他自身的特点,比如,需求变化一般不大,相对比较稳定;对稳定性的要求比对快速发布的要求要高,如果稳定性有问题,影响一般很严重;一般采用更底层的语言(比如c)来进行开发。将敏捷
2011-08-21 09:43:35 13618 38
原创 我对卓越团队的理解
1、 成员的主观能动性得到充分的发挥。——愿景,激励。2、 成员的优势能够得到充分的发挥,而他们的劣势能够通过成员彼此间的互补得到控制。——优势导向,磨合,任务的分配。3、 团队目标清晰,力量一致(可以不同心,但是必须协力)。4、 自我治愈能力(进化),能够发现自己的缺陷
2011-08-19 21:13:23 5024 3
原创 程序库和面向对象语言——unix编程艺术学习笔记
1.1 程序库强烈倾向于把程序分解成有胶合层连接的库集合,特别是共享库。使用库来达到c语言的模块性。库分层的一个重要形式是插件。实例分析:GIMP插件1.2 UNIX和面向对象语言Unix的模块化传统就是薄胶合层原则。也就是程序底层和顶层之间的抽象层越少越好。原因可能是因为c
2011-08-16 21:22:00 1545
原创 4.3 软件是多层的——UNIX编程艺术学习笔记
1.1.1 自顶向下和自底向上自顶向下的设计者可能会首先考虑主事件循环,然后在考虑插入具体的事件;自底向上设计者通常会考虑封装具体的事务,以后再按照某种相关次序把这些东西粘合在一起。单纯的使用自底向上和自顶向下都无法达到好的效果。一方面设计程序逻辑(自顶向下),一方面整理底层的
2011-08-16 21:21:26 1871
原创 4.2 紧凑性和正交性——UNIX编程艺术学习笔记
1.1.1 紧凑性紧凑性就是一个设计能否装进人脑的特性。——它是设计的可读性?紧凑不等以薄弱:如果一个设计构建在易于理解利于组合的抽象概念上,则这个系统能够在具有非常强大、灵活的功能同时保持紧凑性。紧凑不等于易于学习:对于某些紧凑设计而言,在掌握其精妙的内在概念模型之前,要理解
2011-08-16 21:20:01 4568 4
原创 模块性: 保持清晰,保持简洁——《unix 编程艺术》学习笔记
软件设计有两种方式:一种是设计的非常简洁,没有看得到的缺陷;另一种设计的极为复杂,有缺陷也看不出来。第一种方式难度要大得多。——C.A.R Hoare更精练的表达:一种是明显没有缺陷;一种没有明显的缺陷。要编写复杂软件又不至于一败涂地的唯一方法,就是用定义清晰的接口把若干简单的模
2011-08-16 21:19:08 2037
原创 在main函数之前调用函数,以及对设计的作用
前几天为新员工写一个简单的测试框架,可让他们方便的写测试用例并且执行。期间遇到一个问题就是如何让他们增加测试用例而用不影响测试框架的代码?c++的单件模式可以解决这个问题,但是其中一个难点是要在main之前注册单件。c++可以通过构造函数来实现注册,c如何注册?最后查了下资料,原
2011-08-16 20:02:56 9291 10
原创 什么是数据驱动编程
前言:最近在学习《Unix编程艺术》。以前粗略的翻过,以为是介绍unix工具的。现在认真的看了下,原来是介绍设计原则的。它的核心就是第一章介绍的unix的哲学以及17个设计原则,而后面的内容就是围绕它来展开的。以前说过,要学习适合自己的资料,而判断是否适合的一个方法就是看你是
2011-08-03 22:25:35 12674 12
:The C Programming Language 中文版
2009-11-07
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人