我们有一个巨大的(旧的遗留Java)代码库,其中许多文件(大约5k)都有System.out.println.我们计划因清理/性能原因删除它们.我们如何编写一个脚本来替换它们而不会在代码中引入任何问题?脚本不能盲目删除它们,因为以下情况可能是一个问题:
if ()
some.code...
else
System.out.println(...);
DB.close();
Run Code Online (Sandbox Code Playgroud)
我想用';'代替它们.这将照顾上述情况.你还有其他问题吗?还有其他建议吗?
有一组共线点.问题是添加一个位于同一行的新点,以便从新点到现有点的距离总和最小.(假设该点位于水平线上).
我想到的解决方案是:
我无法证明上述方法有效.这是对的吗?还有什么更好的解决方法吗?
我们有一个查询,要根据id字段(主键)从表中删除一些行.这是一个非常简单的查询:
delete all from OUR_TABLE where ID in (123, 345, ...)
Run Code Online (Sandbox Code Playgroud)
问题是没有.id可能很大(例如70k),因此查询需要很长时间.有没有办法优化这个?(我们正在使用sybase - 如果这很重要).
sql database sybase query-optimization database-optimization
假设您正在处理每个版本中具有多个功能的大型项目.对于每个功能开发,我们可能具有不同的功能分支(在VCS中).但是,在完成所有功能分支并完成集成之后,请说删除了其中一个功能(这种情况在我们的组织中比您想象的更频繁).有没有办法在此时回滚功能?我们通常做的是找出所有代码更改并手动回滚.您是否有任何有助于减少这种努力的流程/最佳实践?为了记录,我们有一个带有subversion作为VCS的java项目.
version-control project-management process release-management
在Python中,encodeunicode字符串中有一个方法可以从unicode编码为字节字符串.decode字符串中有一个方法可以反过来.
但我很困惑encode字符串中的方法是什么?
我在Freebsd上用python字符串观察一个奇怪的内存使用模式.考虑以下会话.想法是创建一个包含一些字符串的列表,以便列表中的累积字符为100MB.
l = []
for i in xrange(100000):
l.append(str(i) * (1000/len(str(i))))
Run Code Online (Sandbox Code Playgroud)
这按预期使用大约100MB的内存,'del l'将清除它.
l = []
for i in xrange(20000):
l.append(str(i) * (5000/len(str(i))))
Run Code Online (Sandbox Code Playgroud)
这是使用165MB的内存.我真的不明白额外的内存使用来自哪里.[两个列表的大小相同]
FreeBSD 7.2上的Python 2.6.4.在Linux/Windows上,它们仅使用大约100mb的内存.
更新:我正在使用'ps aux'测量内存.在上面的代码片段之后,可以使用os.sytem执行该操作.这些也是分别执行的.
Update2:看起来像freebsd mallocs内存的2的倍数.所以分配5KB实际上分配8KB.我不确定.
我有时使用gdb来调试python脚本(当然是CPython).通常调试核心转储(以及涉及c扩展模块时)非常有用.
一个基本问题是如何在gdb中的python函数上设置断点.假设我有一个带有foo函数的python脚本,我想在调用foo后立即中断.我想设置一个条件断点PyEval_EvalFrameEx可能会起作用,但不知道该怎么做.
我有一个JTextField可以接受固定数量的字符(例如10个字符).我想限制TextField的宽度以准确地采用那么多字符.所以给定no.of字符,有没有办法找出它将采取的宽度(像素)?假设我们知道字体.
我需要使用python模块(在某些库中可用).该模块如下所示:
class A:
def f1():
...
print "Done"
...
Run Code Online (Sandbox Code Playgroud)
我只需要A类的功能.但是,当我导入模块时,底部的代码(print和其他)会被执行.有没有办法避免这种情况?基本上我需要导入一个模块的一部分:"来自module1 import A",它应该只导入A.是否可能?
有没有办法修改构造函数中构造的类?
public class A {
A() {
//if (condition) return object of type B
//else return A itself
}
}
public class B extends A { }
Run Code Online (Sandbox Code Playgroud)
基本上我想使用基类构造函数作为工厂方法.在java中有可能吗?
如何使用ast获取python模块名称?我尝试了以下操作来获取模块节点,但看起来它没有名称信息:
class v(ast.NodeVisitor):
def visit_Module(self, node):
print "Module : %s" % node
v().visit_Module(ast.parse(f.read(), filename))
Run Code Online (Sandbox Code Playgroud)
我基本上需要实际的模块名称(如果它在一个包中,则像abmodule一样完整)。
Java awt Container类中似乎有许多与validate相关的方法.显然他们不做数据验证.在任何情况下对Swing开发人员都有用吗?一些方法:validate(),invalidate(),validateTree(),isValid()等.