python基础教程_学习笔记26:好玩的编程
2014-07-26 13:39
761 查看
好玩的编程
程序设计的柔术
当大家坐下来并计划应该如何组织程序的时候,对于这个具体的程序,还没有任何的经验。在实现功能的时候,会逐渐地学到对原始设计有用的新知识。不应该无视一路走来所吸取的教训,而应该将它们用于软件的重新设计(或重构)中。灵活性的实现包括许多方面,下面是其中两个:
原型设计:python最棒的功能之一就是可以快速地编写程序。编写原型程序是更充分地了解问题的一种很好的方法。
配置:灵活性有很多种存在形式。配置的目的就是让程序某部分的改变更简单,对于你和用户来说都是这样。
第三点是自动化测试。如果希望轻松改变程序的话,那么自动化测试绝对是必不可少的。使用原地测试,就能保证你的程序在进行修改后还能工作。
原型设计
在将一些思想融入到程序的结构中后,建议实现一个简单的版本,这个版本的功能可能非常有限。还能在任何程序设计语言中使用原型设计,但python的强大之处就在于编写一个模型只需要很少的投入,而不用大动干戈。
配置
另外一种更加简单的在程序中引入抽象的方法:从代码中提取符号化常量。提取常量
为了标识变量是作为符号化常量对待的,可以用特殊的命名规则——名字之用大写字母,并且用下划线分隔每个单词。配置文件
为自己使用方便提取常量是一码事,还要考虑有些常量是要公开给用户的。这里不是将这些配置变量放在模块的开头,而是将它们放在单独的文件中。实现这个功能的最简单方法就是为配置创建单独的模块。
使用配置文件具有两面性:一方面,配置功能很有用,但对整个项目使用集中、共享的变量库会让项目的模块性下降、整体性上升。一定要确保没有破坏抽象(比如封装)规则。
另外一种方法是使用标准库模块ConfigParser,它的作用是对配置文件使用适当的标准格式。它接受标准的python赋值语法:
greeting = ‘hello,world!’
另外一种在很多程序中使用的配置格式如下:
greeting: hello,world!
需要使用[files]或者[colors]这样的数据头将配置文件划分为几个区段。名称可以随意设定,但需要将它们用方括号括起来。
日志记录
日志记录在大幅度更改程序内核时候很有用,它可以帮助找到问题和错误所在。日志记录基本上就是收集与程序运行有关的数据,这样可以在随后进行检查(或累计数据)。print语句算是一种简单的日志记录形式。只要在程序开头放上下面这条语句:log=open(‘log.txt’,’w’)
随后就可以将任何感兴趣的程序状态信息像下面这样放在文件中:
print >> log, (‘Downloading file from URL %s’ % url)
text=urllib.urlopen(url).read()
print >> log, ‘File successfully downloaded’
可以使用标准库中的logging模块,logging是个高级模块,值得学习。
如果还想学
推荐阅读:《程序员修炼之道》
《重构》
《设计模式》
《测试驱动开发》
《UNIX编程艺术》
《算法导论》
《计算机程序设计艺术》卷1-卷3
《Concepts, Techniques, and Models of Computer Programming》
就算不读完每本书的每一页,也要随手翻翻看,这样能培养在开发过程中的洞察力。
相关文章推荐
- python基础教程_学习笔记24:网络编程、Python和万维网
- python基础课程_学习笔记26:编程的乐趣
- <<Python基础教程>>学习笔记 | 第14章 | 网络编程
- <<Python基础教程>>学习笔记 | 第14章 | 网络编程
- python基础教程_学习笔记2:序列-2
- python基础教程_学习笔记7:条件、循环、其它语句
- python基础教程_学习笔记12:充电时刻——模块
- python基础教程_学习笔记11:魔法方法、属性和迭代器
- python基础教程_学习笔记3:列表
- python基础教程_学习笔记15:标准库:一些最爱——fileinput
- python基础教程_学习笔记21:文件和素材
- python基础教程_学习笔记17:标准库:一些最爱——time
- python基础教程_学习笔记19:标准库:一些最爱——集合、堆和双端队列
- Python基础教程学习笔记----第三章 字符串
- python基础教程_学习笔记22:数据库支持
- python基础教程_学习笔记18:标准库:一些最爱——shelve
- python基础教程_学习笔记6:字典
- python基础教程_学习笔记8:序列_练习与总结_1
- python基础教程_学习笔记5:字符串
- python基础教程_学习笔记20:标准库:一些最爱——os