以下代码是否清晰易读?java代码样式问题 - for循环
public void createDatabase() throws SQLException, IOException {
SQLiteDatabase database = dbStore.getDatabase();
LineNumberReader scriptInputReader = new LineNumberReader(new InputStreamReader(getClass().getResourceAsStream(SCRIPT_CREATE)));
for(String line; (line = scriptInputReader.readLine()) != null;) {
database.execSQL(line);
}
}
我写了很多“for”循环,就像上面那样。对我来说,它看起来很清楚 - 它显示了循环中使用的临时变量(“行”),限制了它的作用域并指出循环何时结束(当“readLine”返回“null”时)。我不知道其他的程序员会恨我的那些...
或者这一个:
SQLiteDatabase database = dbStore.getDatabase();
Cursor cursor = database.query("PINS", new String [] {"ID", "X", "Y"}, null, null, null, null, "ID");
if(cursor.moveToFirst()) {
for(; !cursor.isAfterLast(); cursor.moveToNext()) {
(...)
}
}
cursor.close();
是东西像上面只是“整洁”,或者已经是Java的困惑?
既然我知道谁使用AF程序员或者大多数人会使用,如果我想你可以逃避它,但这些例子看起来像是使用while循环的东西。 – fvu
@fvu:我非常确定,如果我通过Java SDK评分,我可以找到几个使用类似繁重编码风格的“官方”示例。所以我觉得这很主观。 – Voo
我有时甚至写(;;){/*...*/ if(something)break; /*...*/}但这显然是错误的,我只在做原型时才这样做。这对我来说就像是一种习惯;) – Chris