我做了很多 Java 编程,然后放弃了它并做了一堆 ruby。现在我又回到了Java,我想知道我的编程风格是否很奇怪。
我觉得下面的代码非常冗长,问题是它是相当惯用的 Java 吗? 您有什么建议/改进建议吗?
final static int FORCE_RIGHT = 0; final static int FORCE_DOWN = 1; final static int FORCE_LEFT = 2; final static int FORCE_UP = 3; final static int IMP_RIGHT = 4; final static int IMP_DOWN = 5; final static int IMP_LEFT = 6; final static int IMP_UP = 7; public void applyForce(int dir) { counter++; Vector2 vect = new Vector2(); switch (dir) { case FORCE_RIGHT: vect = new Vector2(3.0f, 0.0f); break; case IMP_RIGHT: vect = new Vector2(1.0f, 0.0f); break; case FORCE_LEFT: vect = new Vector2(-3.0f, 0.0f); break; case IMP_LEFT: vect = new Vector2(-1.0f, 0.0f); break; case FORCE_UP: vect = new Vector2(0.0f, -3.0f); break; case IMP_UP: vect = new Vector2(0.0f, -1.0f); break; case FORCE_DOWN: vect = new Vector2(0.0f, 3.0f); break; case IMP_DOWN: vect = new Vector2(0.0f, 1.0f); break; } Vector2 place = body.getWorldCenter(); if (dir == FORCE_RIGHT || dir == FORCE_LEFT || dir == FORCE_DOWN || dir == FORCE_UP) { body.applyForce(vect, place); } else { body.applyLinearImpulse(vect, place); } Log.v("CAR", "Applied force: " + dir + "("+counter+")"); }
最佳答案
将所有静态整数转换为枚举可能是一个更好的主意。
关于Java 编程风格建议,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7842196/