小编sen*_*sae的帖子

编写Python GTK +应用程序的"良好实践"方法是什么?

我目前正在编写一个PyGTK应用程序,我想就构建我的应用程序的最佳方法提出一些建议.基本上,应用程序将读取特定的文件规范并将其显示在GUI中以进行编辑.

目前我有一个parser.py,它处理所有低级文件IO和解析文件.我在树视图中显示文件的内容,这意味着我需要使用树库作为我的数据类型.

我遇到的问题是我只想到了这个问题的两个解决方案.首先是我的解析器可以构建一个树库并将其传递给我的ui类.这需要我的解析器取决于pygtk,并最小化该类的潜在重用.第二个是在解析器中存储对我的ui类的引用,这也可能限制我的解析器类作为独立库的重用.

将我的问题浓缩成一个短暂的问题:是否有办法以更加pythonic或OO友好的方式实现我的目标?

如果查看我的代码可以帮助任何人试图回答我的问题:https://code.launchpad.net/~blainepace/nbtparser/trunk

其他pythonic建议欢迎,这是我的第一个python程序,我可能会陷入更多的C++思维方式.我打算重构很多.

python pygtk

7
推荐指数
1
解决办法
878
查看次数

功能指针vs直接调用cout

我正在进行C++类的分配,我想要一些输入.我不是在寻找"帮助",因为我使用课堂作业作为练习编写"好"代码的借口,而且我正在讨论我正在研究的当前问题的两种解决方案.

我在STL地图中存储了大约4000个值.该程序的一个功能是打印出我的地图中的每个值.我有一个名为'driver'的类,它处理应用程序的内部逻辑并保存对map的引用.我有一个单独的用户界面类.

我要做的是将一个函数指针传递给我的驱动程序,它遍历地图并回调我的UI类中的函数.在大约4000个函数调用中,这对于性能是否是一个坏主意?我应该咬紧牙关,只需在迭代时调用cout?我不愿意这样做,因为我试图让我的用户界面与我的程序逻辑和数据完全隔离.我知道最后它真的没关系,因为它只是一个类赋值,但假设这是我想长期保持的代码,那么"最佳"实践会在这里做什么?

c++ map

3
推荐指数
1
解决办法
159
查看次数

使用Rspec 2测试命令行应用程序的UI层

我正在Ruby中编写命令行应用程序.我对Rspec 2比较熟悉,因为它在我正在研究的一些Rails应用程序中使用.我正在编写命令行应用程序,我正在尝试将Rspec 2用于BDD.

如何测试应用程序的用户界面层?我需要给应用程序交互输入,或检查使用puts打印的某些输出.另外,有没有办法抑制STDOUT输出?当我运行自动测试时,我的应用程序的输出会在rspec的状态输出之间打印,这使得它非常难以阅读.

ruby command-line-interface rspec2

3
推荐指数
1
解决办法
893
查看次数

Python用户界面打印语句

我正在编写一个用于管理视频库的CLI帮助程序.将任何类型的打印语句保存在单个模块中,通过返回语句传递数据,或者在需要时只需打印输出,我需要哪个更好?

python command-line-interface

0
推荐指数
1
解决办法
103
查看次数

Ruby on Rails抱怨"未知的关键参数"

我试图使用:params键调用find,使用如下所示的方法调用:

Product.find(:all, :params => { :name => "Test" })
Run Code Online (Sandbox Code Playgroud)

错误:

ArgumentError: Unknown key(s): params
Run Code Online (Sandbox Code Playgroud)

调用Product.find(:all)工作正常,但是当我尝试使用:params密钥传递任何内容时,它会抛出错误.

ruby ruby-on-rails

0
推荐指数
1
解决办法
1704
查看次数

标签 统计

command-line-interface ×2

python ×2

ruby ×2

c++ ×1

map ×1

pygtk ×1

rspec2 ×1

ruby-on-rails ×1