1
armoni 2012-07-22 12:45:48 +08:00
logger.
|
3
saharabear 2012-07-22 12:48:23 +08:00
基本上只用logger和print,不太明白 大对象有什么问题。把方法抽出来写unittest就容易多了。
|
4
coldear OP @saharabear 觉得大对象要print的量比较多,每次都这样的话比较麻烦
|
5
saharabear 2012-07-22 12:53:34 +08:00
@coldear 不太明白大对象的含义,能用代码说明一下吗?
|
6
coldear OP 假设一个类有很多字段,在不同的地方要查看这些字段
|
7
saharabear 2012-07-22 12:58:20 +08:00 1
@coldear 你是说字段需要设置一定的约束?那就写在对象的__getitem__和__set..里面,设置好约束条件,针对这个对象的这两个方法写好单元测试,如果对于set和get的数据不符合约束,就自动抛出异常。这样就不太需要关心里面的字段值了吧?(不知道我的理解对不对)
|
8
coldear OP @saharabear 可能我的想法太受vs影响了,写代码的过程中经常使用一些debugger的功能
比如断点查看对象等 |
9
demon386 2012-07-22 13:14:48 +08:00
基本没啥调试。。。
|
10
adieu 2012-07-22 13:28:55 +08:00 1
sublime text 2 更加适合当作编辑器来用,而不是IDE。可以直接在terminal下面运行你正在编写的程序,然后参考这篇 http://aymanh.com/python-debugging-techniques 里面的方法进行调试。
|
11
iiduce 2012-07-22 13:31:33 +08:00 1
调试代码还是用 pycharm吧
|
13
chloerei 2012-07-22 13:46:00 +08:00 1
unit test
|
14
chairo 2012-07-22 14:02:09 +08:00 1
Python的debugger可以用
import pdb pdb.set_trace() |
15
armoni 2012-07-22 15:53:50 +08:00 1
我比较习惯控制一个函数里代码行数,这样出错了,根据log很容易定位
|
16
neildd 2012-07-23 09:14:29 +08:00 1
我写python调试无非3种
1.单个变量print 2.list、dict等用pprint 3.逻辑调试用pdb.set_trace() |
17
ipconfiger 2012-07-23 09:23:41 +08:00 1
看来LZ深受OOP的流毒。你一开始弄那么大个架子,又不预先考虑测试的问题,自然头大。先从小处入手,把功能分解成容易写容易测试的小模块,每个都好测试,然后在再组装起来,每一个小模块都是正确的,组装起来的成品就不容易出问题
|