Flex框架代码解读感受:一群技术专家写出的脏代码
2012-03-21 12:03
513 查看
目前正在解读Flex框架代码,有一些感受:
1. Flex的每个版本都在不断地对非常基础的框架功能做着改动。
比如说程序最初启动时候的进度框。这应该是最基础的框架功能之一,改来改去说明一个问题:Flex框架从来没有被认真地整体规划过。
2. Flex框架利用FlashPlayer的执行特性,比如帧的跳转,帧事件的监听等,自然地,代码有不易读懂的客观因素。但是,实在是太难读懂了。
大量的用于条件判断的标志变量充斥其中,又在不同的代码片段中对这些标识进行赋值。
不同的类之间有时相互保有对方的类成员变量。可以猜测有些设计是为了解耦,但是不能为了解耦而解耦,明显存在相关依赖关系的类之间没有必要解耦。
解耦的结果只是带来代码结构的混乱,代码可读性大幅下降。
我不认为没有更好的框架设计能够实现Flex框架的功能。
3. 没有很好的代码规范。
条条大路通罗马,为了实现统一个功能,可以有很多种编码方式。代码风格不统一是Flex框架的一个败笔。
比如这篇文章里提及的类成员变量的访问方法就很特殊: http://blog.csdn.net/tiangej/article/details/7342581
4. 由编译器生成的源代码文件(参见 http://blog.csdn.net/tiangej/article/details/7345629 中的“事前准备”部分)中存在垃圾。
例如生命的局部变量被赋值之后就再也没有被用上
Flex框架是ActionScript语言面向应用程序(RIA)而开发出的非常充满创意的产品。
是很多ActionScript优秀工程师的智慧的成果,揭开了ActionScript应用的新应用领域。
宏观上,其方向性的引导作用是巨大的。
但是在微观上,整体结构的设计、代码的风格上又存在着显而易见的遗憾。
有人说美国的软件工程师很聪明,总能有很好的创意开发出新奇的东西。而作为团队,开发出的软件产品其代码又是非常混乱的。
微软产品的源代码据说就惨不忍睹。
这些都是谣传,未必真是这样。
不过你看过Flex框架代码吗?你是否有和我一样的感受?
1. Flex的每个版本都在不断地对非常基础的框架功能做着改动。
比如说程序最初启动时候的进度框。这应该是最基础的框架功能之一,改来改去说明一个问题:Flex框架从来没有被认真地整体规划过。
2. Flex框架利用FlashPlayer的执行特性,比如帧的跳转,帧事件的监听等,自然地,代码有不易读懂的客观因素。但是,实在是太难读懂了。
大量的用于条件判断的标志变量充斥其中,又在不同的代码片段中对这些标识进行赋值。
不同的类之间有时相互保有对方的类成员变量。可以猜测有些设计是为了解耦,但是不能为了解耦而解耦,明显存在相关依赖关系的类之间没有必要解耦。
解耦的结果只是带来代码结构的混乱,代码可读性大幅下降。
我不认为没有更好的框架设计能够实现Flex框架的功能。
3. 没有很好的代码规范。
条条大路通罗马,为了实现统一个功能,可以有很多种编码方式。代码风格不统一是Flex框架的一个败笔。
比如这篇文章里提及的类成员变量的访问方法就很特殊: http://blog.csdn.net/tiangej/article/details/7342581
4. 由编译器生成的源代码文件(参见 http://blog.csdn.net/tiangej/article/details/7345629 中的“事前准备”部分)中存在垃圾。
例如生命的局部变量被赋值之后就再也没有被用上
Flex框架是ActionScript语言面向应用程序(RIA)而开发出的非常充满创意的产品。
是很多ActionScript优秀工程师的智慧的成果,揭开了ActionScript应用的新应用领域。
宏观上,其方向性的引导作用是巨大的。
但是在微观上,整体结构的设计、代码的风格上又存在着显而易见的遗憾。
有人说美国的软件工程师很聪明,总能有很好的创意开发出新奇的东西。而作为团队,开发出的软件产品其代码又是非常混乱的。
微软产品的源代码据说就惨不忍睹。
这些都是谣传,未必真是这样。
不过你看过Flex框架代码吗?你是否有和我一样的感受?
相关文章推荐
- 几句代码写出一个内容轮播器(jQuery插件的神奇)jQuery.flexslider.js登场!!
- [flex技术]flex框架安装以及编译
- [富客户端之Flex技术] flex UI组件权限控制框架
- PHP精粹:编写高效PHP代码(资深PHP技术专家多……
- 解读FLEX代码之生成NFA
- 【深度学习】【Caffe源代码解读4】笔记22 Caffe框架中I/O模块的代码初探
- 专家访谈:Flex技术对Web开发的影响
- android AChartEnginee解说之源代码框架解读
- 唱吧DevOps的落地,微服务CI/CD的范本技术解读----最大的难点并不是实际业务代码的编写,而是服务的监控和调试以及容器的编排
- web.xml详细解读(flex项目,框架:cairngorm--blazeDS--spring--ibatis)(正在编写中)
- 基于Pipe的PureMVC Flex框架的多核共享消息技术
- 《Flex 3程序设计》——Adobe技术专家力作
- 专家访谈:Flex技术对web开发的影响
- 《Flex 3程序设计》——Adobe技术专家力作
- 解读软件2.0思想框架 把握技术发展趋势
- SOUI界面库 第2讲- 基本应用程序框架代码解读
- 解读开源的Flex代码:就象打开的糖果箱
- AIO: 微软一站式开发技术框架 2009-10-18 新增代码示例简介
- 一起谈.NET技术,写出优雅简明代码的论题集 -- Csharp(C#)篇[2]
- 《Flex 3程序设计》——Adobe技术专家力作