免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 1822 | 回复: 0
打印 上一主题 下一主题

Python蕴涵的"软件工程" [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2007-07-25 17:33 |只看该作者 |倒序浏览

Python作为一门语言,它集面向对象语言的强大、脚本语言的灵活于一身,同时跨越多个平台,从Windows到类Unix变种,再到OS/2,再到我们不熟悉的操作系统。它带着丰富的库,提供了开发软件原型的快捷。

至于语言的迷思,不想沉迷。在这里我想说说Python库所体现的坚实的软件工程理念。

Python提供了丰富的库,丰富意味着多,多了想一把抓就有点困难。其实不然,Python库所体现的结构,符合OSA。库说通俗一点讲,就是对开发人员提供服务。对于某一个特定的方面,Python库所提供的服务,体现为最多三个层次,“三层”,关键是这个“三层”。在《Code Complete》中倡导软件首要使命为控制软件复杂度,进而有[5-2, 5+2]原则,这真的是很有道理,不愧是作者多年来的心得体会。考虑到软件原型的快捷构件,Python库提供了贴近应用的库,同样有最底层的库,用于重新构建贴近应用的特定组件,如有必要提供中间库,我们可以发现,这三层最大的区别在于:它们所作用的抽象层次有递增或递减的关系,这样的层次符合“依赖倒置配置原则”。同时这三层之间没有显式的耦合性。细细品位,Python将GenVoca模型用于抽象层次,三层,真的做得很好很好!层层构建,但做到最小耦合度。

从宏观上看,Python库集多而不杂,错落有致,开发人员可以基于问题的层次。选择到具体库。所以说Python提供了软件开发原型的快捷,一点也不为过。

深入到一个具体的库或模块实现,那里体现的是深厚的软件工程理念。
在Python库的源码里,我看到了什么是真正的软件工程。作为一个模块,从注释的精准,到模块组件的划分组织,到异常体系的建立,到精简的对外接口,步步为营,留下的是高效健壮的服务组件。所有的这些,Python库为我们提供了很好的典范。
Python模块提供组件的同时,也有相关的函数。Python将类方法和函数分开看待,类有自身的内聚性,函数则提供类之外的访问,合情合理,提供了进入类的入口函数。


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u1/35936/showart_346636.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP