Java 编程风格建议

标签 java ruby idioms

我做了很多 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/

相关文章:

ruby-on-rails - 验证嵌套属性的数量

ruby - 在 Ruby 中启动 Foreman 应用程序以安装 Heroku

Swift —— 等同于 typealias 中的 typeof 的惯用语

java - 如何以编程方式在 Android 中移动 View ?

使用相同大小的缓冲区的 Java 复制流

java - 如何获取从url下载的文件? (不要在浏览器中打开)

python - 什么时候在 python 中使用 if vs elif

java - 需要帮助构建适用于 Android 2.2 的日历 UI。关于如何开始有什么建议吗?

ruby-on-rails - 如何使用 devise parent_controller 来设计继承的 Controller ,但跳过 ActiveAdmin 设计 Controller ?

haskell - 惯用的高效 Haskell append ?