
软件工程
易旭昕
Roger in UC Mobile Ltd., focus on graphics stack (rendering architecture) research of WebKit based Browser in Android platform, include the graphics stack of WebKit itself along with the graphics stack of Android platform, and design how to combine t
展开
-
Parnas 的经典论文 – “系统模块分解的标准” 简介
Roger.Yi (roger2yi@gmail.com) Parnas被视为软件设计中关于信息隐藏和变化封装等概念的首要提出者,源于他70年代的一系列经典论文,其中71年的“系统模块分解的标准”最广为人知。 论文中Parnas用一个小的案例,通过两种不同的系统分解方法来进行对比。 前一种方法是当前所常常被使用的,按照流程图式的功能分解的办法,通常会把一个系统划分为,输入模原创 2007-12-05 11:55:00 · 2968 阅读 · 2 评论 -
易用性是需要代价的
正在看《.Net设计规范》这本书,书中给出了各式各样的规范和原则, 解释了这些规范和原则如何帮助.Net开发组达成它的目标 - 设计出强大且易用的框架。 微软提供了大量的开发平台给开发者,从最简单的VBA宏编程, 到基于窗体的可视化VB编程,再到提供MFC类库包装API,再到直接使用Windows API,还有基于COM规范设计二进制可重用组件等。而.Net平台设计的目标很大程度就是为了统一这原创 2008-06-14 09:31:00 · 1293 阅读 · 0 评论 -
福尔摩斯式的推理和软件构造
隐喻(Metaphor)的力量是强大的,在计算机的世界里面,我们已经习惯使用各种各样真实世界的事情来和软件开发中的概念进行比对。比如,软件构造过程的建筑隐喻,植物生长隐喻。Meyer的契约式设计(Design by Contract)使用客户与供应商之间的合同、契约来比喻软件系统中类的使用与实现之间的关系,从而验证类的正确性在于类的实现需要满足契约,系统的正确性在于类的使用同时也满足契约,而契原创 2008-06-17 11:23:00 · 1301 阅读 · 0 评论 -
阅读源代码的一些体会
最近一个月的时间,差不多都在看Android 4.0系统和它的WebKit实现的代码。面对庞大的代码库,复杂的系统,从一开始毫无头绪到后来慢慢厘清主要的流程和摸清系统的结构。体会到有一些方法对阅读源代码是非常有帮助的。需要可以编译,运行和调试如果只是光看代码,没办法编译,运行和调试,那对系统的理解总是只能停留在概念性的表面而无法深入。最好是能够下断点和单步跟踪,如果很难实现原创 2012-03-02 20:12:47 · 2204 阅读 · 0 评论